
<!DOCTYPE HTML>
<html lang="zh" >
    <head>
        <meta charset="UTF-8">
        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
        <title>数组 · Pine Script 用户手册中文版</title>
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="description" content="">
        <meta name="generator" content="GitBook 3.2.3">
        <meta name="author" content="剑客">
        
        
    
    <link rel="stylesheet" href="../gitbook/style.css">

    
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
                
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
                
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
                
            
        

    

    
        
    
        
    
        
    
        
    
        
    
        
    

        
    
    
    <meta name="HandheldFriendly" content="true"/>
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">

    
    <link rel="next" href="3barstate.html" />
    
    
    <link rel="prev" href="1alert.html" />
    

    </head>
    <body>
        
<div class="book">
    <div class="book-summary">
        
            
<div id="book-search-input" role="search">
    <input type="text" placeholder="輸入並搜尋" />
</div>

            
                <nav role="navigation">
                


<ul class="summary">
    
    

    

    
        
        
    
        <li class="chapter " data-level="1.1" data-path="../">
            
                <a href="../">
            
                    
                    Introduction
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2" data-path="../Introduction.html">
            
                <a href="../Introduction.html">
            
                    
                    简介
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.3" data-path="../quickstart/">
            
                <a href="../quickstart/">
            
                    
                    快速开始
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.3.1" data-path="../quickstart/example.html">
            
                <a href="../quickstart/example.html">
            
                    
                    Pine Script 示例
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.3.2" data-path="../quickstart/studyVsStrategy.html">
            
                <a href="../quickstart/studyVsStrategy.html">
            
                    
                    “study” 与 “strategy”
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.3.3" data-path="../quickstart/model.html">
            
                <a href="../quickstart/model.html">
            
                    
                    Pine Script 执行模型
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.3.4" data-path="../quickstart/series.html">
            
                <a href="../quickstart/series.html">
            
                    
                    序列
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.3.5" data-path="../quickstart/understanding.html">
            
                <a href="../quickstart/understanding.html">
            
                    
                    理解 Pine Script
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.3.6" data-path="../quickstart/editor.html">
            
                <a href="../quickstart/editor.html">
            
                    
                    Pine 编辑器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.3.7" data-path="../quickstart/next.html">
            
                <a href="../quickstart/next.html">
            
                    
                    下一步
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.4" data-path="../fundamentals/">
            
                <a href="../fundamentals/">
            
                    
                    语言基础
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.4.1" data-path="../fundamentals/1structure.html">
            
                <a href="../fundamentals/1structure.html">
            
                    
                    脚本结构
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.2" data-path="../fundamentals/2version.html">
            
                <a href="../fundamentals/2version.html">
            
                    
                    版本
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.3" data-path="../fundamentals/3comment.html">
            
                <a href="../fundamentals/3comment.html">
            
                    
                    注释
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.4" data-path="../fundamentals/4identifier.html">
            
                <a href="../fundamentals/4identifier.html">
            
                    
                    标识符
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.5" data-path="../fundamentals/5line.html">
            
                <a href="../fundamentals/5line.html">
            
                    
                    换行
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.6" data-path="../fundamentals/6type.html">
            
                <a href="../fundamentals/6type.html">
            
                    
                    类型系统
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.7" data-path="../fundamentals/7operator.html">
            
                <a href="../fundamentals/7operator.html">
            
                    
                    运算符
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.8" data-path="../fundamentals/8function.html">
            
                <a href="../fundamentals/8function.html">
            
                    
                    函数和注解
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.9" data-path="../fundamentals/9expressions.html">
            
                <a href="../fundamentals/9expressions.html">
            
                    
                    表达式、声明和语句
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.10" data-path="../fundamentals/10function.html">
            
                <a href="../fundamentals/10function.html">
            
                    
                    函数声明
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.11" data-path="../fundamentals/11model.html">
            
                <a href="../fundamentals/11model.html">
            
                    
                    执行模型
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.5" data-path="./">
            
                <a href="./">
            
                    
                    基本功能
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.5.1" data-path="1alert.html">
            
                <a href="1alert.html">
            
                    
                    警报
            
                </a>
            

            
        </li>
    
        <li class="chapter active" data-level="1.5.2" data-path="2array.html">
            
                <a href="2array.html">
            
                    
                    数组
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.3" data-path="3barstate.html">
            
                <a href="3barstate.html">
            
                    
                    柱状态，内置变量 barstate.*
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.4" data-path="4color.html">
            
                <a href="4color.html">
            
                    
                    颜色
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.5" data-path="5context.html">
            
                <a href="5context.html">
            
                    
                    上下文切换和 security 函数
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.6" data-path="6drawing.html">
            
                <a href="6drawing.html">
            
                    
                    绘图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.7" data-path="7extend.html">
            
                <a href="7extend.html">
            
                    
                    延长和扩展交易数据
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.8" data-path="8reapint.html">
            
                <a href="8reapint.html">
            
                    
                    指标重绘
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.9" data-path="9nonstandard.html">
            
                <a href="9nonstandard.html">
            
                    
                    非标准图表类型数据
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.10" data-path="10session.html">
            
                <a href="10session.html">
            
                    
                    交易时段和时间信息
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.11" data-path="11strategies.html">
            
                <a href="11strategies.html">
            
                    
                    策略
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.12" data-path="12table.html">
            
                <a href="12table.html">
            
                    
                    图表
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.6" data-path="../annotations/">
            
                <a href="../annotations/">
            
                    
                    注解概览
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.6.1" data-path="../annotations/1study.html">
            
                <a href="../annotations/1study.html">
            
                    
                    指标注解
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.2" data-path="../annotations/2plot.html">
            
                <a href="../annotations/2plot.html">
            
                    
                    绘图注解
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.3" data-path="../annotations/3input.html">
            
                <a href="../annotations/3input.html">
            
                    
                    脚本输入
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.4" data-path="../annotations/4price.html">
            
                <a href="../annotations/4price.html">
            
                    
                    价格水平，hline
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.5" data-path="../annotations/5fill.html">
            
                <a href="../annotations/5fill.html">
            
                    
                    用 fill 填充背景
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.6" data-path="../annotations/6barcolor.html">
            
                <a href="../annotations/6barcolor.html">
            
                    
                    使用 barcolor 为 series 着色
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.7" data-path="../annotations/7bg.html">
            
                <a href="../annotations/7bg.html">
            
                    
                    使用 bgcolor 进行背景着色
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.8" data-path="../annotations/8shape.html">
            
                <a href="../annotations/8shape.html">
            
                    
                    绘制形状、字符和箭头
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.9" data-path="../annotations/9custom.html">
            
                <a href="../annotations/9custom.html">
            
                    
                    定制 OHLC 柱和蜡烛
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.7" data-path="../debugging/">
            
                <a href="../debugging/">
            
                    
                    调试
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.7.1" data-path="../debugging/1introduction.html">
            
                <a href="../debugging/1introduction.html">
            
                    
                    指标注解
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.7.2" data-path="../debugging/2land.html">
            
                <a href="../debugging/2land.html">
            
                    
                    功能位置
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.7.3" data-path="../debugging/3num.html">
            
                <a href="../debugging/3num.html">
            
                    
                    显示数值
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.7.4" data-path="../debugging/4str.html">
            
                <a href="../debugging/4str.html">
            
                    
                    显示字符串
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.7.5" data-path="../debugging/5conditions.html">
            
                <a href="../debugging/5conditions.html">
            
                    
                    调试条件
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.7.6" data-path="../debugging/6fn.html">
            
                <a href="../debugging/6fn.html">
            
                    
                    从内部函数调试
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.7.7" data-path="../debugging/7for.html">
            
                <a href="../debugging/7for.html">
            
                    
                    从“for”循环内部调试
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.7.8" data-path="../debugging/8tips.html">
            
                <a href="../debugging/8tips.html">
            
                    
                    提示
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.8" data-path="../publishing/">
            
                <a href="../publishing/">
            
                    
                    发布脚本
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.8.1" data-path="../publishing/1pvp.html">
            
                <a href="../publishing/1pvp.html">
            
                    
                    公共脚本与私有脚本
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.2" data-path="../publishing/2mode.html">
            
                <a href="../publishing/2mode.html">
            
                    
                    发布模式
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.3" data-path="../publishing/3ps.html">
            
                <a href="../publishing/3ps.html">
            
                    
                    如何发布脚本
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.4" data-path="../publishing/4us.html">
            
                <a href="../publishing/4us.html">
            
                    
                    如何更新脚本
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.9" data-path="../library/">
            
                <a href="../library/">
            
                    
                    公共库
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.9.1" data-path="../library/1description.html">
            
                <a href="../library/1description.html">
            
                    
                    描述
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.9.2" data-path="../library/2copy.html">
            
                <a href="../library/2copy.html">
            
                    
                    将脚本从公共库复制到您的个人库
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.9.3" data-path="../library/3editing.html">
            
                <a href="../library/3editing.html">
            
                    
                    编辑来自公共库的脚本
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.9.4" data-path="../library/4searching.html">
            
                <a href="../library/4searching.html">
            
                    
                    搜索脚本
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.9.5" data-path="../library/5video.html">
            
                <a href="../library/5video.html">
            
                    
                    教学视频
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.10" data-path="../appendix/">
            
                <a href="../appendix/">
            
                    
                    附录
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.10.1" data-path="../appendix/1migration.html">
            
                <a href="../appendix/1migration.html">
            
                    
                    Pine 第 3 版迁移指南
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.10.2" data-path="../appendix/2how.html">
            
                <a href="../appendix/2how.html">
            
                    
                    操作指南
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.10.3" data-path="../appendix/3err.html">
            
                <a href="../appendix/3err.html">
            
                    
                    Pine 的编译和执行错误
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.11" data-path="../more/">
            
                <a href="../more/">
            
                    
                    我可以从哪里获得更多信息？
            
                </a>
            

            
        </li>
    

    

    <li class="divider"></li>

    <li>
        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
            本書使用 GitBook 釋出
        </a>
    </li>
</ul>


                </nav>
            
        
    </div>

    <div class="book-body">
        
            <div class="body-inner">
                
                    

<div class="book-header" role="navigation">
    

    <!-- Title -->
    <h1>
        <i class="fa fa-circle-o-notch fa-spin"></i>
        <a href=".." >数组</a>
    </h1>
</div>




                    <div class="page-wrapper" tabindex="-1" role="main">
                        <div class="page-inner">
                            
<div id="book-search-results">
    <div class="search-noresults">
    
                                <section class="normal markdown-section">
                                
                                <h1 id="&#x6570;&#x7EC4;">&#x6570;&#x7EC4;</h1>
<hr>
<h2 id="&#x4ECB;&#x7ECD;">&#x4ECB;&#x7ECD;</h2>
<p>&#x6570;&#x7EC4;&#x53EF;&#x4EE5;&#x7528;&#x6765;&#x5728;&#x4E00;&#x4E2A;&#x6570;&#x636E;&#x7ED3;&#x6784;&#x4E2D;&#x5B58;&#x50A8;&#x591A;&#x4E2A;&#x503C;&#x3002;&#x53EF;&#x4EE5;&#x628A;&#x5B83;&#x4EEC;&#x770B;&#x4F5C;&#x662F;&#x4E00;&#x79CD;&#x66F4;&#x597D;&#x7684;&#x6570;&#x636E;&#x5904;&#x7406;&#x65B9;&#x5F0F;&#xFF0C;&#x5426;&#x5219;&#x4F60;&#x5C31;&#x9700;&#x8981;&#x4E00;&#x7EC4;&#x540D;&#x4E3A; price00&#x3001; price01 &#x548C; price02 &#x7684;&#x53D8;&#x91CF;&#x3002;&#x6570;&#x7EC4;&#x662F;&#x4E00;&#x79CD;&#x9AD8;&#x7EA7;&#x529F;&#x80FD;&#xFF0C;&#x7528;&#x4E8E;&#x9700;&#x8981;&#x590D;&#x6742;&#x7684;&#x6570;&#x636E;&#x5904;&#x7406;&#x7684;&#x811A;&#x672C;&#x3002;&#x5982;&#x679C;&#x4F60;&#x662F;&#x4E00;&#x4E2A;&#x521D;&#x5B66; Pine &#x7684;&#x7A0B;&#x5E8F;&#x5458;&#xFF0C;&#x6211;&#x4EEC;&#x5EFA;&#x8BAE;&#x4F60;&#x5728;&#x5904;&#x7406;&#x6570;&#x7EC4;&#x4E4B;&#x524D;&#x5148;&#x719F;&#x6089;&#x5176;&#x4ED6;&#x66F4;&#x5BB9;&#x6613;&#x7406;&#x89E3;&#x7684; Pine &#x529F;&#x80FD;&#x3002;</p>
<p>Pine &#x6570;&#x7EC4;&#x662F;&#x4E00;&#x7EF4;&#x7684;&#x3002;&#x4E00;&#x4E2A;&#x6570;&#x7EC4;&#x7684;&#x6240;&#x6709;&#x5143;&#x7D20;&#x90FD;&#x662F;&#x76F8;&#x540C;&#x7684;&#x7C7B;&#x578B;&#xFF0C;&#x53EF;&#x4EE5;&#x662F; int&#x3001;float&#x3001;bool &#x6216; color&#xFF0C;&#x603B;&#x662F; series &#x5F62;&#x5F0F;&#x7684;&#x3002;&#x6570;&#x7EC4;&#x662F;&#x7528;&#x4E00;&#x4E2A;&#x6570;&#x7EC4; ID &#x6765;&#x5F15;&#x7528;&#x7684;&#xFF0C;&#x7C7B;&#x4F3C;&#x4E8E;&#x6807;&#x7B7E;&#x548C;&#x884C;&#x7684; ID&#x3002;Pine &#x4E0D;&#x4F7F;&#x7528;&#x7D22;&#x5F15;&#x64CD;&#x4F5C;&#x7B26;&#x6765;&#x5F15;&#x7528;&#x5355;&#x4E2A;&#x6570;&#x7EC4;&#x5143;&#x7D20;&#xFF1B;&#x76F8;&#x53CD;&#xFF0C;&#x50CF; array.get() &#x548C; array.set() &#x8FD9;&#x6837;&#x7684;&#x51FD;&#x6570;&#x88AB;&#x7528;&#x6765;&#x8BFB;&#x53D6;&#x548C;&#x5199;&#x5165;&#x6570;&#x7EC4;&#x5143;&#x7D20;&#x7684;&#x503C;&#x3002;&#x6570;&#x7EC4;&#x503C;&#x53EF;&#x7528;&#x4E8E;&#x6240;&#x6709;&#x5141;&#x8BB8;&#x4F7F;&#x7528; series &#x5F62;&#x5F0F;&#x503C;&#x7684; Pine &#x8868;&#x8FBE;&#x5F0F;&#x548C;&#x51FD;&#x6570;&#x3002;</p>
<p>&#x6570;&#x7EC4;&#x4E2D;&#x7684;&#x5143;&#x7D20;&#x662F;&#x7528;&#x7D22;&#x5F15;&#x6765;&#x6307;&#x4EE3;&#x7684;&#xFF0C;&#x7D22;&#x5F15;&#x4ECE; 0 &#x5F00;&#x59CB;&#xFF0C;&#x5EF6;&#x4F38;&#x5230;&#x6570;&#x7EC4;&#x4E2D;&#x7684;&#x5143;&#x7D20;&#x6570;&#x4E2A;&#x6570;&#x518D;&#x51CF;&#x53BB; 1&#x3002;Pine &#x4E2D;&#x7684;&#x6570;&#x7EC4;&#x53EF;&#x4EE5;&#x52A8;&#x6001;&#x8C03;&#x6574;&#x5927;&#x5C0F;&#xFF0C;&#x6240;&#x4EE5;&#x6570;&#x7EC4;&#x4E2D;&#x7684;&#x5143;&#x7D20;&#x6570;&#x91CF;&#x53EF;&#x4EE5;&#x5728;&#x4E00;&#x4E2A;&#x67F1;&#x7684;&#x811A;&#x672C;&#x8FED;&#x4EE3;&#x4E2D;&#x4FEE;&#x6539;&#xFF0C;&#x5E76;&#x5728;&#x4E0D;&#x540C;&#x7684;&#x67F1;&#x4E2D;&#x53D8;&#x5316;&#x3002;&#x5728;&#x540C;&#x4E00;&#x4E2A;&#x811A;&#x672C;&#x4E2D;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x591A;&#x4E2A;&#x6570;&#x7EC4;&#x3002;&#x6570;&#x7EC4;&#x7684;&#x5927;&#x5C0F;&#x88AB;&#x9650;&#x5236;&#x5728; 100, 000 &#x4EE5;&#x5185;&#x3002;</p>
<hr>
<blockquote>
<p>&#x6CE8;&#x610F;<br>&#x6211;&#x4EEC;&#x5C06;&#x7528;&#x6570;&#x7EC4;&#x7684;&quot;&#x5F00;&#x59CB;&quot;&#x6765;&#x8868;&#x793A;&#x7D22;&#x5F15; 0&#xFF0C;&#x7528;&#x6570;&#x7EC4;&#x7684;&quot;&#x7ED3;&#x675F;&quot;&#x6765;&#x8868;&#x793A;&#x5177;&#x6709;&#x6700;&#x9AD8;&#x7D22;&#x5F15;&#x503C;&#x7684;&#x6570;&#x7EC4;&#x5143;&#x7D20;&#x3002;&#x4E3A;&#x4E86;&#x7B80;&#x6D01;&#x8D77;&#x89C1;&#xFF0C;&#x6211;&#x4EEC;&#x8FD8;&#x5C06;&#x6269;&#x5C55;&#x6570;&#x7EC4;&#x7684;&#x542B;&#x4E49;&#xFF0C;&#x5305;&#x62EC;&#x6570;&#x7EC4;&#x7684; id&#x3002;</p>
</blockquote>
<hr>
<h2 id="&#x58F0;&#x660E;&#x6570;&#x7EC4;">&#x58F0;&#x660E;&#x6570;&#x7EC4;</h2>
<p>&#x4EE5;&#x4E0B;&#x8BED;&#x6CD5;&#x53EF;&#x7528;&#x4E8E;&#x58F0;&#x660E;&#x6570;&#x7EC4;&#xFF1A;</p>
<pre><code>&lt;type&gt;[] &lt;identifier&gt; = &lt;expression&gt;
var &lt;type&gt;[] &lt;identifier&gt; = &lt;expression&gt;
</code></pre><p>&#x5728;&#x58F0;&#x660E;&#x6570;&#x7EC4;&#x65F6;&#xFF0C;[] &#x4FEE;&#x9970;&#x7B26;&#x88AB;&#x9644;&#x52A0;&#x5230;&#x7C7B;&#x578B;&#x540D;&#x79F0;&#x4E0A;&#x3002;&#x7136;&#x800C;&#xFF0C;&#x7531;&#x4E8E;&#x7279;&#x5B9A;&#x7C7B;&#x578B;&#x7684;&#x51FD;&#x6570;&#x603B;&#x662F;&#x7528;&#x6765;&#x521B;&#x5EFA;&#x6570;&#x7EC4;&#xFF0C;&#x58F0;&#x660E;&#x4E2D;&#x7684; <type>[] &#x90E8;&#x5206;&#x662F;&#x591A;&#x4F59;&#x7684;&#xFF0C;&#x9664;&#x975E;&#x4F60;&#x5C06;&#x6570;&#x7EC4;&#x53D8;&#x91CF;&#x521D;&#x59CB;&#x5316;&#x4E3A; na&#xFF0C;&#x5982;&#x5728;&#x4E0B;&#x9762;&#x7684;&#x4F8B;&#x5B50;&#x4E2D;&#xFF0C;&#x6211;&#x4EEC;&#x58F0;&#x660E;&#x4E86;&#x4E00;&#x4E2A;&#x540D;&#x4E3A; price &#x7684;&#x6570;&#x7EC4;&#x53D8;&#x91CF;&#x3002;&#x8FD9;&#x4E2A;&#x53D8;&#x91CF;&#x5C06;&#x88AB;&#x7528;&#x6765;&#x6307;&#x5B9A;&#x4E00;&#x4E2A;&#x5305;&#x542B;&#x6D6E;&#x70B9;&#x6570;&#x7684;&#x6570;&#x7EC4;&#xFF0C;&#x4F46;&#x662F;&#x8FD9;&#x4E2A;&#x58F0;&#x660E;&#x8FD8;&#x6CA1;&#x6709;&#x521B;&#x5EFA;&#x6570;&#x7EC4;&#x3002;&#x76EE;&#x524D;&#xFF0C;&#x6570;&#x7EC4;&#x53D8;&#x91CF;&#x4E0D;&#x5305;&#x542B;&#x6709;&#x6548;&#x7684;&#x6570;&#x7EC4; ID&#xFF0C;&#x5176;&#x503C;&#x4E3A; na&#x3002;</type></p>
<pre><code>float[] prices = na
</code></pre><p>&#x5F53;&#x58F0;&#x660E;&#x4E00;&#x4E2A;&#x6570;&#x7EC4;&#x5E76;&#x4E14; <expression> &#x4E0D;&#x662F; na &#x65F6;&#xFF0C;&#x5FC5;&#x987B;&#x4F7F;&#x7528; array.new_<type>(size, initial_value) &#x51FD;&#x6570;&#x4E2D;&#x7684;&#x4E00;&#x4E2A;&#x3002;size &#x548C; initial_value &#x53C2;&#x6570;&#x7684;&#x53C2;&#x6570;&#x90FD;&#x53EF;&#x4EE5;&#x662F; series&#xFF0C;&#x4EE5;&#x5141;&#x8BB8;&#x52A8;&#x6001;&#x786E;&#x5B9A;&#x6570;&#x7EC4;&#x5143;&#x7D20;&#x7684;&#x5927;&#x5C0F;&#x548C;&#x521D;&#x59CB;&#x5316;&#x3002;&#x4E0B;&#x9762;&#x7684;&#x4F8B;&#x5B50;&#x521B;&#x5EFA;&#x4E86;&#x4E00;&#x4E2A;&#x5305;&#x542B;&#x96F6;&#x4E2A;&#x6D6E;&#x70B9;&#x6570;&#x7684;&#x6570;&#x7EC4;&#xFF0C;array.new_float() &#x51FD;&#x6570;&#x8C03;&#x7528;&#x8FD4;&#x56DE;&#x7684;&#x6570;&#x7EC4; id &#x88AB;&#x5206;&#x914D;&#x7ED9;&#x4E86; prices&#x3002;</type></expression></p>
<pre><code>prices = array.new_float(0)
</code></pre><p>&#x5176;&#x4ED6;&#x7C7B;&#x578B;&#x7684;&#x6570;&#x7EC4;&#x5143;&#x7D20;&#x4E5F;&#x6709;&#x7C7B;&#x4F3C;&#x7684;&#x6570;&#x7EC4;&#x521B;&#x5EFA;&#x51FD;&#x6570;&#xFF1A;array.new_int(), array.new_bool(), array.new_color(), array.new_line(), array.new_label() &#x548C; array.new_string()&#x3002;</p>
<p>&#x5F53;&#x58F0;&#x660E;&#x4E00;&#x4E2A;&#x6570;&#x7EC4;&#x65F6;&#xFF0C;&#x53EF;&#x4EE5;&#x4F7F;&#x7528; initial_value &#x53C2;&#x6570;&#x6765;&#x521D;&#x59CB;&#x5316;&#x6570;&#x7EC4;&#x4E2D;&#x7684;&#x6240;&#x6709;&#x5143;&#x7D20;&#x3002;&#x5F53;&#x6CA1;&#x6709;&#x4E3A; initial_value &#x63D0;&#x4F9B;&#x53C2;&#x6570;&#x65F6;&#xFF0C;&#x6570;&#x7EC4;&#x5143;&#x7D20;&#x88AB;&#x521D;&#x59CB;&#x5316;&#x4E3A; na&#x3002;&#x4E0B;&#x9762;&#x7684;&#x58F0;&#x660E;&#x521B;&#x5EFA;&#x4E86;&#x4E00;&#x4E2A;&#x540D;&#x4E3A; price &#x7684;&#x6570;&#x7EC4;&#x3002;&#x8BE5;&#x6570;&#x7EC4;&#x521B;&#x5EFA;&#x4E86;&#x4E24;&#x4E2A;&#x5143;&#x7D20;&#xFF0C;&#x6BCF;&#x4E2A;&#x5143;&#x7D20;&#x90FD;&#x88AB;&#x521D;&#x59CB;&#x5316;&#x4E3A;&#x8BE5;&#x67F1;&#x4E0A;&#x7684;&#x6536;&#x76D8;&#x4EF7;&#x3002;</p>
<pre><code>prices = array.new_float(2, close)
</code></pre><p>&#x76EE;&#x524D;&#x8FD8;&#x6CA1;&#x6709;&#x529E;&#x6CD5;&#x5728;&#x4E00;&#x6761;&#x8BED;&#x53E5;&#x4E2D;&#x7528;&#x4E0D;&#x540C;&#x7684;&#x503C;&#x521D;&#x59CB;&#x5316;&#x591A;&#x4E2A;&#x6570;&#x7EC4;&#x5143;&#x7D20;&#xFF0C;&#x65E0;&#x8BBA;&#x662F;&#x5728;&#x58F0;&#x660E;&#x65F6;&#x8FD8;&#x662F;&#x58F0;&#x660E;&#x540E;&#x3002;&#x6B64;&#x529F;&#x80FD;&#x5728;&#x5F00;&#x53D1;&#x8BA1;&#x5212;&#x4E2D;&#x3002;</p>
<h3 id="&#x4F7F;&#x7528;-var-&#x5173;&#x952E;&#x5B57;">&#x4F7F;&#x7528; var &#x5173;&#x952E;&#x5B57;</h3>
<p>&#x5728;&#x58F0;&#x660E;&#x6570;&#x7EC4;&#x7684;&#x65F6;&#x5019;&#x53EF;&#x4EE5;&#x4F7F;&#x7528; var &#x5173;&#x952E;&#x5B57;&#x3002;&#x5B83;&#x7684;&#x4F5C;&#x7528;&#x548C;&#x5176;&#x4ED6;&#x53D8;&#x91CF;&#x4E00;&#x6837;&#xFF1B;&#x5B83;&#x4F7F;&#x58F0;&#x660E;&#x53EA;&#x5728;&#x6570;&#x636E;&#x96C6;&#x7684; bar_index &#x4E3A; 0 &#x7684;&#x67F1;&#x4E0A;&#x7684;&#x811A;&#x672C;&#x7684;&#x7B2C;&#x4E00;&#x6B21;&#x8FED;&#x4EE3;&#x65F6;&#x6267;&#x884C;&#x3002;&#x56E0;&#x4E3A;&#x6570;&#x7EC4;&#x5728;&#x968F;&#x540E;&#x7684;&#x67F1;&#x4E0A;&#x4E0D;&#x4F1A;&#x88AB;&#x91CD;&#x65B0;&#x521D;&#x59CB;&#x5316;&#xFF0C;&#x5B83;&#x7684;&#x503C;&#x4F1A;&#x5728;&#x4E0D;&#x540C;&#x7684;&#x67F1;&#x4E0A;&#x6301;&#x7EED;&#x5B58;&#x5728;&#xFF0C;&#x56E0;&#x4E3A;&#x811A;&#x672C;&#x4F1A;&#x5BF9;&#x5B83;&#x4EEC;&#x8FDB;&#x884C;&#x8FED;&#x4EE3;&#x3002;</p>
<p>&#x5F53;&#x4F7F;&#x7528; var &#x8FDB;&#x884C;&#x6570;&#x7EC4;&#x58F0;&#x660E;&#xFF0C;&#x5E76;&#x4E14;&#x5728;&#x6BCF;&#x4E2A;&#x67F1;&#x4E0A;&#x5C06;&#x4E00;&#x4E2A;&#x65B0;&#x7684;&#x503C;&#x63A8;&#x5230;&#x6570;&#x7EC4;&#x7684;&#x672B;&#x5C3E;&#x65F6;&#xFF0C;&#x6570;&#x7EC4;&#x5C06;&#x5728;&#x6BCF;&#x4E2A;&#x67F1;&#x4E0A;&#x589E;&#x957F;&#x4E00;&#x4E2A;&#xFF0C;&#x5E76;&#x4E14;&#x5728;&#x811A;&#x672C;&#x6267;&#x884C;&#x5230;&#x6700;&#x540E;&#x4E00;&#x4E2A;&#x67F1;&#x65F6;&#xFF0C;&#x5176;&#x5927;&#x5C0F;&#x4E3A; bar_index + 1&#xFF08;bar_index &#x4ECE; 0 &#x5F00;&#x59CB;&#xFF09;&#xFF0C;&#x6B63;&#x5982;&#x8FD9;&#x6BB5;&#x4EE3;&#x7801;&#x5C06;&#x505A;&#x7684;&#x90A3;&#x6837;&#xFF1A;</p>
<pre><code>//@version=4
study(&quot;Using `var`&quot;)
var a = array.new_float(0)
array.push(a, close)
if barstate.islast
    label.new(bar_index, 0, &quot;Array size: &quot; + tostring(array.size(a)) + &quot;\nbar_index: &quot; + tostring(bar_index), size = size.large)
</code></pre><p>&#x540C;&#x6837;&#x7684;&#x4EE3;&#x7801;&#xFF0C;&#x5982;&#x679C;&#x6CA1;&#x6709; var &#x5173;&#x952E;&#x5B57;&#xFF0C;&#x5C31;&#x4F1A;&#x5728;&#x6BCF;&#x4E2A;&#x67F1;&#x4E0A;&#x91CD;&#x65B0;&#x58F0;&#x660E;&#x6570;&#x7EC4;&#x3002;&#x5728;&#x6267;&#x884C; array.push() &#x8C03;&#x7528;&#x540E;&#xFF0C;&#x6570;&#x7EC4;&#x5728;&#x6240;&#x6709;&#x6570;&#x636E;&#x96C6;&#x7684;&#x67F1;&#x4E0A;&#x7684;&#x5927;&#x5C0F;&#x90FD;&#x662F; 1&#x3002;</p>
<h2 id="&#x5BF9;&#x6570;&#x7EC4;&#x4E2D;&#x7684;&#x503C;&#x7684;&#x8BFB;&#x5199;">&#x5BF9;&#x6570;&#x7EC4;&#x4E2D;&#x7684;&#x503C;&#x7684;&#x8BFB;&#x5199;</h2>
<p>&#x53EF;&#x4EE5;&#x7528; array.set(id, index, value) &#x5411;&#x73B0;&#x6709;&#x7684;&#x5355;&#x4E2A;&#x6570;&#x7EC4;&#x5143;&#x7D20;&#x5199;&#x5165;&#x6570;&#x503C;&#xFF0C;&#x7528; array.get(id, index) &#x8BFB;&#x53D6;&#x3002;&#x5728;&#x4F60;&#x7684;&#x4EE3;&#x7801;&#x4E2D;&#x4F7F;&#x7528;&#x6570;&#x7EC4;&#x7D22;&#x5F15;&#x65F6;&#xFF0C;&#x5FC5;&#x987B;&#x4FDD;&#x8BC1;&#x8BE5;&#x7D22;&#x5F15;&#x6C38;&#x8FDC;&#x4E0D;&#x4F1A;&#x5927;&#x4E8E;&#x6570;&#x7EC4;&#x7684;&#x5927;&#x5C0F; - 1&#xFF08;&#x56E0;&#x4E3A;&#x6570;&#x7EC4;&#x7D22;&#x5F15;&#x4ECE; 0 &#x5F00;&#x59CB;&#xFF09;&#x3002;&#x4F60;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x4F7F;&#x7528; array.size(id) &#x51FD;&#x6570;&#x6765;&#x83B7;&#x5F97;&#x4E00;&#x4E2A;&#x6570;&#x7EC4;&#x7684;&#x5927;&#x5C0F;&#x3002;</p>
<p>&#x4E0B;&#x9762;&#x7684;&#x4F8B;&#x5B50;&#x4F7F;&#x7528; array.set() &#x5C06;&#x4E00;&#x4E2A;&#x989C;&#x8272;&#x6570;&#x7EC4;&#x521D;&#x59CB;&#x5316;&#x4E3A;&#x4F7F;&#x7528;&#x4E0D;&#x540C;&#x900F;&#x660E;&#x5EA6;&#x7684;&#x4E00;&#x79CD;&#x57FA;&#x8272;&#x7684;&#x5B9E;&#x4F8B;&#x3002;&#x7136;&#x540E;&#xFF0C;&#x5B83;&#x83B7;&#x53D6;&#x9002;&#x5F53;&#x7684;&#x6570;&#x7EC4;&#x5143;&#x7D20;&#xFF0C;&#x5728; bgcolor() &#x8C03;&#x7528;&#x4E2D;&#x4F7F;&#x7528;&#x5B83;&#x3002;</p>
<pre><code>//@version=4
study(&quot;Distance from high&quot;, &quot;&quot;, true)
i_lookBack = input(100)
c_fillColor = color.green
var c_fills = array.new_color(5)
// Initialize the array elements with progressively lighter shades of the fill color.
array.set(c_fills, 0, color.new(c_fillColor, 70))
array.set(c_fills, 1, color.new(c_fillColor, 75))
array.set(c_fills, 2, color.new(c_fillColor, 80))
array.set(c_fills, 3, color.new(c_fillColor, 85))
array.set(c_fills, 4, color.new(c_fillColor, 90))

// Find the offset to highest high. Change its sign because the function returns a negative value.
lastHiBar = - highestbars(high, i_lookBack)
// Convert the offset to an array index, capping it to 4 to avoid a runtime error.
// The index used by `array.get()` will be the equivalent of `floor(fillNo)`.
fillNo = min(lastHiBar / (i_lookBack / 5), 4)
// Set background to a progressively lighter fill with increasing distance from location of highest high.
bgcolor(array.get(c_fills, fillNo))
// Plot key values to the Data Window for debugging.
plotchar(lastHiBar, &quot;lastHiBar&quot;, &quot;&quot;, location.top, size = size.tiny)
plotchar(fillNo, &quot;fillNo&quot;, &quot;&quot;, location.top, size = size.tiny)
</code></pre><p><img src="../img/32array/Arrays-ReadingAndWriting-DistanceFromHigh.png" alt="&#x793A;&#x4F8B;&#x56FE;"></p>
<p>&#x53E6;&#x4E00;&#x4E2A;&#x53EF;&#x4EE5;&#x7528;&#x6765;&#x521D;&#x59CB;&#x5316;&#x6570;&#x7EC4;&#x4E2D;&#x7684;&#x5143;&#x7D20;&#x7684;&#x65B9;&#x6CD5;&#x662F;&#x58F0;&#x660E;&#x6570;&#x7EC4;&#x7684;&#x5927;&#x5C0F;&#x4E3A; 0&#xFF0C;&#x7136;&#x540E;&#x7528; array.push() &#x6765;&#x586B;&#x5145;&#x6570;&#x7EC4;&#xFF0C;&#x5C06;&#x65B0;&#x7684;&#x5143;&#x7D20;&#x8FFD;&#x52A0;&#x5230;&#x6570;&#x7EC4;&#x7684;&#x672B;&#x7AEF;&#xFF0C;&#x6BCF;&#x6B21;&#x8C03;&#x7528;&#x90FD;&#x4F1A;&#x4F7F;&#x6570;&#x7EC4;&#x7684;&#x5927;&#x5C0F; + 1&#x3002;&#x4E0B;&#x9762;&#x7684;&#x4EE3;&#x7801;&#x5728;&#x529F;&#x80FD;&#x4E0A;&#x4E0E;&#x524D;&#x9762;&#x7684;&#x811A;&#x672C;&#x4E2D;&#x7684;&#x521D;&#x59CB;&#x5316;&#x90E8;&#x5206;&#x76F8;&#x540C;&#x3002;&#x6CE8;&#x610F;&#xFF0C;&#x5728;&#x8FD9;&#x79CD;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x6211;&#x4EEC;&#x6CA1;&#x6709;&#x4F7F;&#x7528; var &#x6765;&#x58F0;&#x660E;&#x6570;&#x7EC4;&#x3002;&#x5982;&#x679C;&#x6211;&#x4EEC;&#x8FD9;&#x6837;&#x505A;&#xFF0C;&#x8FD9;&#x7EC4;&#x63A8;&#x9001;&#x5C06;&#x5728;&#x6BCF;&#x4E2A;&#x67F1;&#x4E0A;&#x5411;&#x6570;&#x7EC4;&#x6DFB;&#x52A0; 5 &#x4E2A;&#x65B0;&#x5143;&#x7D20;&#xFF0C;&#x56E0;&#x4E3A;&#x6570;&#x7EC4;&#x5C06;&#x5728;&#x8FDE;&#x7EED;&#x7684;&#x67F1;&#x4E0A;&#x4F20;&#x64AD;&#x3002;</p>
<pre><code>c_fills = array.new_color(0)
// Initialize the array elements with progressively lighter shades of the fill color.
array.push(c_fills, color.new(c_fillColor, 70))
array.push(c_fills, color.new(c_fillColor, 75))
array.push(c_fills, color.new(c_fillColor, 80))
array.push(c_fills, color.new(c_fillColor, 85))
array.push(c_fills, color.new(c_fillColor, 90))
</code></pre><p>array.fill(id, value, index_from, index_to) &#x51FD;&#x6570;&#x53EF;&#x4EE5;&#x7528;&#x6765;&#x4E3A;&#x8FDE;&#x7EED;&#x7684;&#x6570;&#x7EC4;&#x5143;&#x7D20;&#x586B;&#x5145;&#x4E00;&#x4E2A;&#x503C;&#x3002;&#x5728;&#x6CA1;&#x6709;&#x6700;&#x540E;&#x4E24;&#x4E2A;&#x53EF;&#x9009;&#x53C2;&#x6570;&#x7684;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x8BE5;&#x51FD;&#x6570;&#x4F1A;&#x586B;&#x5145;&#x6574;&#x4E2A;&#x6570;&#x7EC4;&#xFF0C;&#x56E0;&#x6B64;&#xFF1A;</p>
<pre><code>a = array.new_float(10, close)
</code></pre><p>&#x548C;&#xFF1A;</p>
<pre><code>a = array.new_float(10)
array.fill(a, close)
</code></pre><p>&#x662F;&#x7B49;&#x4EF7;&#x7684;&#xFF0C;&#x4F46;&#x662F;&#xFF1A;</p>
<pre><code>a = array.new_float(10)
array.fill(a, close, 1, 3)
</code></pre><p>&#x53EA;&#x5BF9;&#x6570;&#x7EC4;&#x7684;&#x7B2C;&#x4E8C;&#x548C;&#x7B2C;&#x4E09;&#x4E2A;&#x5143;&#x7D20;&#xFF08;&#x7D22;&#x5F15; 1 &#x548C; 2&#xFF09;&#x8FDB;&#x884C;&#x586B;&#x5145;&#x3002;&#x6CE8;&#x610F; array.fill() &#x7684;&#x6700;&#x540E;&#x4E00;&#x4E2A;&#x53C2;&#x6570; index_to &#x9700;&#x8981;&#x6BD4;&#x8981;&#x586B;&#x5145;&#x7684;&#x6700;&#x540E;&#x4E00;&#x4E2A;&#x7D22;&#x5F15;&#x5927;&#x4E00;&#x4E2A;&#x3002;&#x5269;&#x4E0B;&#x7684;&#x5143;&#x7D20;&#x5C06;&#x4FDD;&#x6301; na &#x503C;&#xFF0C;&#x56E0;&#x4E3A;&#x5728;&#x58F0;&#x660E;&#x6570;&#x7EC4;&#x65F6;&#x6CA1;&#x6709;&#x63D0;&#x4F9B;&#x521D;&#x59CB;&#x5316;&#x503C;&#x3002;</p>
<h2 id="&#x4F5C;&#x7528;&#x57DF;">&#x4F5C;&#x7528;&#x57DF;</h2>
<p>&#x6570;&#x7EC4;&#x53EF;&#x4EE5;&#x5728;&#x811A;&#x672C;&#x7684;&#x5168;&#x5C40;&#x8303;&#x56F4;&#x5185;&#x58F0;&#x660E;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x5728;&#x51FD;&#x6570;&#x6216; if &#x5206;&#x652F;&#x7684;&#x5C40;&#x90E8;&#x4F5C;&#x7528;&#x57DF;&#x5185;&#x58F0;&#x660E;&#x3002;Pine &#x6570;&#x7EC4;&#x548C;&#x5728;&#x5168;&#x5C40;&#x8303;&#x56F4;&#x5185;&#x58F0;&#x660E;&#x7684;&#x53D8;&#x91CF;&#x4E4B;&#x95F4;&#x7684;&#x4E00;&#x4E2A;&#x4E3B;&#x8981;&#x533A;&#x522B;&#x662F;&#xFF0C;&#x5168;&#x5C40;&#x6570;&#x7EC4;&#x53EF;&#x4EE5;&#x4ECE;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#x7684;&#x5C40;&#x90E8;&#x8303;&#x56F4;&#x5185;&#x4FEE;&#x6539;&#x3002;&#x8FD9;&#x79CD;&#x65B0;&#x7684;&#x529F;&#x80FD;&#x53EF;&#x4EE5;&#x7528;&#x6765;&#x5B9E;&#x73B0;&#x5168;&#x5C40;&#x53D8;&#x91CF;&#xFF0C;&#x8FD9;&#x4E9B;&#x53D8;&#x91CF;&#x53EF;&#x4EE5;&#x4ECE;&#x811A;&#x672C;&#x4E2D;&#x7684;&#x4EFB;&#x4F55;&#x51FD;&#x6570;&#x4E2D;&#x8BFB;&#x53D6;&#x548C;&#x8BBE;&#x7F6E;&#x3002;&#x6211;&#x4EEC;&#x5728;&#x8FD9;&#x91CC;&#x7528;&#x5B83;&#x6765;&#x8BA1;&#x7B97;&#x9010;&#x6B65;&#x964D;&#x4F4E;&#x6216;&#x63D0;&#x9AD8;&#x7684;&#x7A0B;&#x5EA6;&#xFF1A;</p>
<pre><code>//@version=4
study(&quot;Bands&quot;, &quot;&quot;, true)
i_factor = 1 + (input(-2., &quot;Step %&quot;) / 100)
// Use the lowest average OHLC in last 50 bars from 10 bars back as the our base level.
level = array.new_float(1, lowest(ohlc4, 50)[10])

f_nextLevel(_val) =&gt;
    _newLevel = array.get(level, 0) * _val
    // Write new level to the global array so it can be used as the base in the next call to this function.
    array.set(level, 0, _newLevel)
    _newLevel

plot(f_nextLevel(1))
plot(f_nextLevel(i_factor))
plot(f_nextLevel(i_factor))
plot(f_nextLevel(i_factor))
</code></pre><p><img src="../img/32array/Arrays-Scope-Bands.png" alt="&#x793A;&#x4F8B;&#x56FE;"></p>
<h2 id="&#x5386;&#x53F2;&#x6570;&#x636E;">&#x5386;&#x53F2;&#x6570;&#x636E;</h2>
<p>&#x6570;&#x7EC4; id &#x7684;&#x8FC7;&#x53BB;&#x5B9E;&#x4F8B;&#x6216;&#x5143;&#x7D20;&#x4E0D;&#x80FD;&#x76F4;&#x63A5;&#x4F7F;&#x7528; Pine &#x7684; [ ] &#x5386;&#x53F2;&#x5F15;&#x7528;&#x64CD;&#x4F5C;&#x7B26;&#x6765;&#x5F15;&#x7528;&#x3002;&#x6211;&#x4EEC;&#x4E0D;&#x80FD;&#x5199;&#xFF1A;array.get(a[1], 0) &#x6765;&#x83B7;&#x53D6;&#x6570;&#x7EC4;&#x7684;&#x7B2C;&#x4E00;&#x4E2A;&#x5143;&#x7D20;&#x5728;&#x524D;&#x4E00;&#x6839;&#x67F1;&#x7684;&#x503C;</p>
<p>&#x7136;&#x800C;&#xFF0C;&#x5728; Pine &#x4E2D;&#xFF0C;&#x6BCF;&#x4E00;&#x6839;&#x67F1;&#x4E0A;&#x7684;&#x51FD;&#x6570;&#x8C03;&#x7528;&#x90FD;&#x4F1A;&#x5BF9; series &#x4EA7;&#x751F;&#x5F71;&#x54CD;&#x3002;&#x8FD9;&#x4E2A; series &#x53C8;&#x53EF;&#x4EE5;&#x5728;&#x5904;&#x7406;&#x6570;&#x7EC4;&#x65F6;&#x4F7F;&#x7528;&#x3002;&#x56E0;&#x6B64;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x5199;&#xFF1A;ma = sma(array.get(a, 0), 20) &#x6765;&#x8BA1;&#x7B97; array.get(a, 0) &#x8C03;&#x7528;&#x8FD4;&#x56DE;&#x7684;&#x6700;&#x540E; 20 &#x4E2A;&#x67F1;&#x7684;&#x7B80;&#x5355;&#x79FB;&#x52A8;&#x5E73;&#x5747;&#x503C;&#x3002;</p>
<p>&#x4E3A;&#x4E86;&#x8BF4;&#x660E;&#x8FD9;&#x4E00;&#x70B9;&#xFF0C;&#x8BA9;&#x6211;&#x4EEC;&#x5148;&#x770B;&#x770B;&#x6211;&#x4EEC;&#x5982;&#x4F55;&#x7528;&#x4E24;&#x79CD;&#x7B49;&#x4EF7;&#x7684;&#x65B9;&#x5F0F;&#x6765;&#x83B7;&#x53D6;&#x524D;&#x4E00;&#x6839;&#x67F1;&#x7684;&#x6536;&#x76D8;&#x4EF7;&#x3002;&#x5BF9;&#x4E8E; previousClose1&#xFF0C;&#x6211;&#x4EEC;&#x4F7F;&#x7528; array.get(a, 0) &#x51FD;&#x6570;&#x5728;&#x524D;&#x4E00;&#x4E2A;&#x4EA4;&#x6613;&#x65E5;&#x7684;&#x8C03;&#x7528;&#x7ED3;&#x679C;&#x3002;&#x56E0;&#x4E3A;&#x5728;&#x524D;&#x4E00;&#x4E2A;&#x4EA4;&#x6613;&#x65E5;&#xFF0C;&#x6570;&#x7EC4;&#x7684;&#x552F;&#x4E00;&#x5143;&#x7D20;&#x88AB;&#x521D;&#x59CB;&#x5316;&#x4E3A;&#x8BE5;&#x4EA4;&#x6613;&#x65E5;&#x7684;&#x6536;&#x76D8;&#x4EF7;&#xFF08;&#x5C31;&#x50CF;&#x5728;&#x6BCF;&#x4E2A;&#x4EA4;&#x6613;&#x65E5;&#x4E00;&#x6837;&#xFF09;&#xFF0C;&#x53C2;&#x8003; array.get(a, 0)[1] &#x8FD4;&#x56DE;&#x8BE5;&#x4EA4;&#x6613;&#x65E5;&#x7684;&#x6536;&#x76D8;&#x4EF7;&#xFF0C;&#x4E5F;&#x5C31;&#x662F;&#x5728;&#x524D;&#x4E00;&#x4E2A;&#x4EA4;&#x6613;&#x65E5;&#x8C03;&#x7528; array.get(a, 0) &#x7684;&#x503C;&#x3002;</p>
<p>&#x5BF9;&#x4E8E; previousClose2&#xFF0C;&#x6211;&#x4EEC;&#x4F7F;&#x7528;&#x5386;&#x53F2;&#x53C2;&#x8003;&#x8FD0;&#x7B97;&#x7B26;&#xFF0C;&#x4EE5;&#x6B63;&#x5E38;&#x7684; Pine &#x65B9;&#x5F0F;&#x83B7;&#x53D6;&#x524D;&#x4E00;&#x4E2A;&#x67F1;&#x7684;&#x6536;&#x76D8;&#x4EF7;&#x3002;</p>
<pre><code>//@version=4
study(&quot;History referencing&quot;)
// Re-declare the array on each bar.
a = array.new_float(1)
// Set the value of its only element to `close`.
array.set(a, 0, close)

previousClose1 = array.get(a, 0)[1]
previousClose2 = close[1]
plot(previousClose1, &quot;previousClose1&quot;, color.gray, 6)
plot(previousClose2, &quot;previousClose2&quot;, color.white, 2)
</code></pre><p>&#x5728;&#x4E0B;&#x9762;&#x7684;&#x4F8B;&#x5B50;&#x4E2D;&#xFF0C;&#x6211;&#x4EEC;&#x5728;&#x524D;&#x9762;&#x7684;&#x4EE3;&#x7801;&#x4F8B;&#x5B50;&#x4E2D;&#x589E;&#x52A0;&#x4E86;&#x4E24;&#x4E2A;&#x79FB;&#x52A8;&#x5E73;&#x5747;&#x7EBF;&#x7684;&#x7B49;&#x4EF7;&#x8BA1;&#x7B97;&#x3002;&#x5BF9;&#x4E8E; ma1&#xFF0C;&#x6211;&#x4EEC;&#x5BF9; array.get(a, 0) &#x51FD;&#x6570;&#x8C03;&#x7528;&#x5728;&#x6BCF;&#x4E2A;&#x6761;&#x4E0A;&#x8FD4;&#x56DE;&#x7684; series &#x6570;&#x503C;&#x4F7F;&#x7528; sma()&#x3002;&#x56E0;&#x4E3A;&#x5728;&#x811A;&#x672C;&#x7684;&#x8FD9;&#x4E00;&#x70B9;&#x4E0A;&#xFF0C;&#x8C03;&#x7528;&#x8FD4;&#x56DE;&#x4E86;&#x5F53;&#x524D;&#x67F1;&#x7684;&#x6536;&#x76D8;&#x4EF7;&#xFF0C;&#x8FD9;&#x5C31;&#x662F;&#x7528;&#x4E8E;&#x8BA1;&#x7B97;&#x5E73;&#x5747;&#x6570;&#x7684;&#x503C;&#x3002;&#x6211;&#x4EEC;&#x7528; Pine &#x4E2D;&#x8BA1;&#x7B97;&#x7B80;&#x5355;&#x5E73;&#x5747;&#x6570;&#x7684;&#x901A;&#x5E38;&#x65B9;&#x6CD5;&#x6765;&#x8BC4;&#x4F30; ma2&#x3002;</p>
<pre><code>//@version=4
study(&quot;History referencing&quot;)
a = array.new_float(1)
array.set(a, 0, close)
previousClose1 = array.get(a, 0)[1]
previousClose2 = close[1]
plot(previousClose1, &quot;previousClose1&quot;, color.gray, 6)
plot(previousClose2, &quot;previousClose2&quot;, color.white, 2)

ma1 = sma(array.get(a, 0), 20)
ma2 = sma(close, 20)
plot(ma1, &quot;MA 1&quot;, color.aqua, 6)
plot(ma2, &quot;MA 2&quot;, color.white, 2)

// Last set having no impact.
array.set(a, 0, 10.0)
</code></pre><p>&#x6CE8;&#x610F;&#x8FD9;&#x4E2A;&#x811A;&#x672C;&#x7684;&#x6700;&#x540E;&#x4E00;&#x884C;&#x3002;&#x5B83;&#x8BF4;&#x660E;&#x4E86;&#x5373;&#x4F7F;&#x6211;&#x4EEC;&#x5728;&#x811A;&#x672C;&#x7684;&#x6700;&#x540E;&#x5C06;&#x6570;&#x7EC4;&#x5143;&#x7D20;&#x7684;&#x503C;&#x8BBE;&#x7F6E;&#x4E3A; 10.0&#xFF0C;&#x5BFC;&#x81F4;&#x8BE5;&#x5143;&#x7D20;&#x7684;&#x6700;&#x7EC8;&#x503C;&#x5728;&#x6700;&#x540E;&#x4E00;&#x6B21;&#x6267;&#x884C;&#x811A;&#x672C;&#x65F6;&#x88AB;&#x63D0;&#x4EA4;&#x4E3A; 10.0&#xFF0C;&#x5148;&#x524D;&#x5BF9; array.get(a, 0) &#x7684;&#x8C03;&#x7528;&#x4ECD;&#x7136;&#x8FD4;&#x56DE;&#x6536;&#x76D8;&#x503C;&#xFF0C;&#x56E0;&#x4E3A;&#x90A3;&#x662F;&#x6570;&#x7EC4;&#x5143;&#x7D20;&#x5728;&#x811A;&#x672C;&#x4E2D;&#x7684;&#x90A3;&#x4E2A;&#x70B9;&#x7684;&#x503C;&#x3002;&#x56E0;&#x6B64;&#xFF0C;&#x51FD;&#x6570;&#x8C03;&#x7528;&#x7684; series &#x503C;&#x5C06;&#x662F;&#x6BCF;&#x4E2A;&#x67F1;&#x7684;&#x6536;&#x76D8;&#x503C;&#x3002;</p>
<p><img src="../img/32array/Arrays-HistoryReferencing.png" alt="&#x793A;&#x4F8B;&#x56FE;"></p>
<h2 id="&#x63D2;&#x5165;&#x548C;&#x5220;&#x9664;&#x6570;&#x7EC4;&#x5143;&#x7D20;">&#x63D2;&#x5165;&#x548C;&#x5220;&#x9664;&#x6570;&#x7EC4;&#x5143;&#x7D20;</h2>
<h3 id="&#x63D2;&#x5165;">&#x63D2;&#x5165;</h3>
<p>&#x6709;&#x4E09;&#x4E2A;&#x51FD;&#x6570;&#x53EF;&#x4EE5;&#x7528;&#x6765;&#x5728;&#x4E00;&#x4E2A;&#x6570;&#x7EC4;&#x4E2D;&#x63D2;&#x5165;&#x65B0;&#x7684;&#x5143;&#x7D20;&#x3002;</p>
<p>array.unshift() &#x5728;&#x6570;&#x7EC4;&#x7684;&#x5F00;&#x5934;&#x63D2;&#x5165;&#x4E00;&#x4E2A;&#x65B0;&#x5143;&#x7D20;&#xFF0C;&#x7D22;&#x5F15;&#x4E3A; 0&#xFF0C;&#x5E76;&#x5C06;&#x4EFB;&#x4F55;&#x73B0;&#x6709;&#x7684;&#x5143;&#x7D20;&#x53F3;&#x79FB; 1&#x3002;</p>
<p>array.insert() &#x53EF;&#x4EE5;&#x5728;&#x6570;&#x7EC4;&#x7684;&#x4EFB;&#x4F55;&#x4F4D;&#x7F6E;&#x63D2;&#x5165;&#x4E00;&#x4E2A;&#x65B0;&#x5143;&#x7D20;&#x3002;&#x5B83;&#x7684;&#x7D22;&#x5F15;&#x53C2;&#x6570;&#x662F;&#x65B0;&#x5143;&#x7D20;&#x5C06;&#x88AB;&#x6DFB;&#x52A0;&#x7684;&#x7D22;&#x5F15;&#x3002;&#x5728;&#x51FD;&#x6570;&#x8C03;&#x7528;&#x4E2D;&#x4F7F;&#x7528;&#x7684;&#x7D22;&#x5F15;&#x4E0A;&#x5DF2;&#x6709;&#x7684;&#x5143;&#x7D20;&#x548C;&#x5B83;&#x53F3;&#x8FB9;&#x7684;&#x4EFB;&#x4F55;&#x5176;&#x4ED6;&#x5143;&#x7D20;&#x90FD;&#x5411;&#x53F3;&#x79FB;&#x52A8;&#x4E00;&#x4E2A;&#x4F4D;&#x7F6E;&#x3002;</p>
<pre><code>//@version=4
study(&quot;`array.insert()`&quot;)
a = array.new_float(5, 0)
for _i = 0 to 4
    array.set(a, _i, _i + 1)
if barstate.islast
    label.new(bar_index, 0, &quot;BEFORE\na: &quot; + tostring(a), size = size.large)
    array.insert(a, 2, 999)
    label.new(bar_index, 0, &quot;AFTER\na: &quot; + tostring(a), style = label.style_label_up, size = size.large)
</code></pre><p><img src="../img/32array/Arrays-InsertingAndRemovingArrayElements-Insert.png" alt="&#x793A;&#x4F8B;&#x56FE;"></p>
<p>array.push() &#x5C06;&#x5728;&#x6570;&#x7EC4;&#x7684;&#x672B;&#x5C3E;&#x6DFB;&#x52A0;&#x4E00;&#x4E2A;&#x65B0;&#x5143;&#x7D20;&#x3002;</p>
<h3 id="&#x5220;&#x9664;">&#x5220;&#x9664;</h3>
<p>&#x6709;&#x56DB;&#x4E2A;&#x51FD;&#x6570;&#x53EF;&#x4EE5;&#x7528;&#x6765;&#x4ECE;&#x4E00;&#x4E2A;&#x6570;&#x7EC4;&#x4E2D;&#x79FB;&#x9664;&#x5143;&#x7D20;&#x3002;&#x524D;&#x4E09;&#x4E2A;&#x5C06;&#x8FD4;&#x56DE;&#x88AB;&#x79FB;&#x9664;&#x5143;&#x7D20;&#x7684;&#x503C;&#x3002;</p>
<p>array.remove() &#x79FB;&#x9664;&#x6240;&#x7528;&#x7D22;&#x5F15;&#x503C;&#x7684;&#x5143;&#x7D20;&#xFF0C;&#x5E76;&#x8FD4;&#x56DE;&#x8BE5;&#x5143;&#x7D20;&#x7684;&#x503C;&#x3002;</p>
<p>array.shift() &#x4ECE;&#x6570;&#x7EC4;&#x4E2D;&#x79FB;&#x9664;&#x7B2C;&#x4E00;&#x4E2A;&#x5143;&#x7D20;&#x5E76;&#x8FD4;&#x56DE;&#x5176;&#x503C;&#x3002;</p>
<p>array.pop() &#x5220;&#x9664;&#x6570;&#x7EC4;&#x7684;&#x6700;&#x540E;&#x4E00;&#x4E2A;&#x5143;&#x7D20;&#x5E76;&#x8FD4;&#x56DE;&#x5176;&#x503C;&#x3002;</p>
<p>array.clear() &#x5C06;&#x5220;&#x9664;&#x6570;&#x7EC4;&#x4E2D;&#x7684;&#x6240;&#x6709;&#x5143;&#x7D20;&#x3002;</p>
<h3 id="&#x5C06;&#x6570;&#x7EC4;&#x4F5C;&#x4E3A;&#x6808;&#x4F7F;&#x7528;">&#x5C06;&#x6570;&#x7EC4;&#x4F5C;&#x4E3A;&#x6808;&#x4F7F;&#x7528;</h3>
<p>&#x6808;&#x662F; LIFO&#xFF08;&#x540E;&#x8FDB;&#x5148;&#x51FA;&#xFF09;&#x7ED3;&#x6784;&#x3002;&#x5B83;&#x4EEC;&#x7684;&#x884C;&#x4E3A;&#x6709;&#x70B9;&#x50CF;&#x4E00;&#x5806;&#x5782;&#x76F4;&#x7684;&#x4E66;&#xFF0C;&#x6BCF;&#x6B21;&#x53EA;&#x80FD;&#x6DFB;&#x52A0;&#x6216;&#x5220;&#x9664;&#x4E00;&#x672C;&#x4E66;&#xFF0C;&#x800C;&#x4E14;&#x603B;&#x662F;&#x4ECE;&#x9876;&#x90E8;&#x5F00;&#x59CB;&#x3002;Pine &#x6570;&#x7EC4;&#x5F53;&#x505A;&#x6808;&#x4F7F;&#x7528;&#xFF0C;&#x5728;&#x8FD9;&#x79CD;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x4F60;&#x5C06;&#x4F7F;&#x7528; array.push() &#x548C; array.pop() &#x51FD;&#x6570;&#x5728;&#x6570;&#x7EC4;&#x7684;&#x672B;&#x7AEF;&#x6DFB;&#x52A0;&#x548C;&#x5220;&#x9664;&#x5143;&#x7D20;&#x3002;</p>
<p>array.push(prices, close) &#x5C06;&#x5728;&#x4EF7;&#x683C;&#x6570;&#x7EC4;&#x7684;&#x672B;&#x7AEF;&#x6DFB;&#x52A0;&#x4E00;&#x4E2A;&#x65B0;&#x5143;&#x7D20;&#xFF0C;&#x4F7F;&#x6570;&#x7EC4;&#x7684;&#x5927;&#x5C0F;&#x589E;&#x52A0;&#x4E00;&#x4E2A;&#x3002;</p>
<p>array.pop(prices) &#x5C06;&#x4ECE;&#x4EF7;&#x683C;&#x6570;&#x7EC4;&#x4E2D;&#x79FB;&#x9664;&#x672B;&#x5C3E;&#x7684;&#x5143;&#x7D20;&#xFF0C;&#x8FD4;&#x56DE;&#x5176;&#x503C;&#x5E76;&#x5C06;&#x6570;&#x7EC4;&#x7684;&#x5927;&#x5C0F;&#x51CF;&#x5C11;&#x4E00;&#x4E2A;&#x3002;</p>
<p>&#x8BF7;&#x770B;&#x8FD9;&#x91CC;&#x662F;&#x5982;&#x4F55;&#x4F7F;&#x7528;&#x8FD9;&#x4E9B;&#x51FD;&#x6570;&#x6765;&#x8BB0;&#x4F4F;&#x53CD;&#x5F39;&#x4E2D;&#x7684;&#x8FDE;&#x7EED;&#x4F4E;&#x70B9;&#x7684;&#x3002;</p>
<pre><code>//@version=4
study(&quot;Lows from new highs&quot;, &quot;&quot;, true)
var lows = array.new_float(0)
flushLows = false

// Remove last element from the stack when `_cond` is true.
f_array_pop(_id, _cond) =&gt; _cond and array.size(_id) &gt; 0 ? array.pop(_id) : float(na)

if rising(high, 1)
    // Rising highs; push a new low on the stack.
    array.push(lows, low)
    // Force the return type of this `if` block to be the same as that of the next block.
    bool(na)
else if array.size(lows) &gt;= 4 or low &lt; array.min(lows)
    // We have at least 4 lows or price has breached the lowest low;
    // sort lows and set flag indicating we will plot and flush the levels.
    array.sort(lows, order.ascending)
    flushLows := true

// If needed, plot and flush lows.
lowLevel = f_array_pop(lows, flushLows)
plot(lowLevel, &quot;Low 1&quot;, low &gt; lowLevel ? color.silver : color.purple, 2, plot.style_linebr)
lowLevel := f_array_pop(lows, flushLows)
plot(lowLevel, &quot;Low 2&quot;, low &gt; lowLevel ? color.silver : color.purple, 3, plot.style_linebr)
lowLevel := f_array_pop(lows, flushLows)
plot(lowLevel, &quot;Low 3&quot;, low &gt; lowLevel ? color.silver : color.purple, 4, plot.style_linebr)
lowLevel := f_array_pop(lows, flushLows)
plot(lowLevel, &quot;Low 4&quot;, low &gt; lowLevel ? color.silver : color.purple, 5, plot.style_linebr)

if flushLows
    // Clear remaining levels after the last 4 have been plotted.
    array.clear(lows)
</code></pre><p><img src="../img/32array/Arrays-InsertingAndRemovingArrayElements-LowsFromNewHighs.png" alt="&#x793A;&#x4F8B;&#x56FE;"></p>
<h3 id="&#x5C06;&#x6570;&#x7EC4;&#x4F5C;&#x4E3A;&#x961F;&#x5217;&#x4F7F;&#x7528;">&#x5C06;&#x6570;&#x7EC4;&#x4F5C;&#x4E3A;&#x961F;&#x5217;&#x4F7F;&#x7528;</h3>
<p>&#x961F;&#x5217;&#x662F; FIFO&#xFF08;&#x5148;&#x8FDB;&#x5148;&#x51FA;&#xFF09;&#x7684;&#x7ED3;&#x6784;&#x3002;&#x5B83;&#x4EEC;&#x7684;&#x884C;&#x4E3A;&#x6709;&#x70B9;&#x50CF;&#x6C7D;&#x8F66;&#x5230;&#x8FBE;&#x7EA2;&#x706F;&#x65F6;&#x7684;&#x60C5;&#x51B5;&#x3002;&#x65B0;&#x8F66;&#x6392;&#x5728;&#x961F;&#x4F0D;&#x7684;&#x672B;&#x5C3E;&#xFF0C;&#x7B2C;&#x4E00;&#x8F86;&#x79BB;&#x5F00;&#x7684;&#x8F66;&#x662F;&#x7B2C;&#x4E00;&#x4E2A;&#x5230;&#x8FBE;&#x7EA2;&#x706F;&#x7684;&#x8F66;&#x3002;</p>
<p>&#x5728;&#x4E0B;&#x9762;&#x7684;&#x4EE3;&#x7801;&#x4F8B;&#x5B50;&#x4E2D;&#xFF0C;&#x6211;&#x4EEC;&#x8BA9;&#x7528;&#x6237;&#x901A;&#x8FC7;&#x811A;&#x672C;&#x7684;&#x8F93;&#x5165;&#x6765;&#x51B3;&#x5B9A;&#x4ED6;&#x4EEC;&#x60F3;&#x5728;&#x56FE;&#x8868;&#x4E0A;&#x6709;&#x591A;&#x5C11;&#x4E2A;&#x6807;&#x7B7E;&#x3002;&#x6211;&#x4EEC;&#x7528;&#x8FD9;&#x4E2A;&#x6570;&#x91CF;&#x6765;&#x51B3;&#x5B9A;&#x6211;&#x4EEC;&#x968F;&#x540E;&#x521B;&#x5EFA;&#x7684;&#x6807;&#x7B7E;&#x6570;&#x7EC4;&#x7684;&#x5927;&#x5C0F;&#xFF0C;&#x5C06;&#x6570;&#x7EC4;&#x7684;&#x5143;&#x7D20;&#x521D;&#x59CB;&#x5316;&#x4E3A; na&#x3002;</p>
<p>&#x5F53;&#x68C0;&#x6D4B;&#x5230;&#x4E00;&#x4E2A;&#x65B0;&#x7684;&#x67A2;&#x8F74;&#x65F6;&#xFF0C;&#x6211;&#x4EEC;&#x4E3A;&#x5B83;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x6807;&#x7B7E;&#xFF0C;&#x5C06;&#x6807;&#x7B7E;&#x7684; id &#x4FDD;&#x5B58;&#x5728; pLabel &#x53D8;&#x91CF;&#x4E2D;&#x3002;&#x7136;&#x540E;&#xFF0C;&#x6211;&#x4EEC;&#x901A;&#x8FC7;&#x4F7F;&#x7528; array.push() &#x5C06;&#x65B0;&#x6807;&#x7B7E;&#x7684; id &#x8FFD;&#x52A0;&#x5230;&#x6570;&#x7EC4;&#x7684;&#x672B;&#x5C3E;&#x6765;&#x6392;&#x961F;&#xFF0C;&#x4F7F;&#x6211;&#x4EEC;&#x7684;&#x6570;&#x7EC4;&#x5927;&#x5C0F;&#x6BD4;&#x56FE;&#x8868;&#x4E0A;&#x8981;&#x4FDD;&#x7559;&#x7684;&#x6700;&#x5927;&#x6807;&#x7B7E;&#x6570;&#x591A;&#x4E00;&#x4E2A;&#x3002;</p>
<p>&#x6700;&#x540E;&#xFF0C;&#x6211;&#x4EEC;&#x901A;&#x8FC7;&#x4F7F;&#x7528; array.shift() &#x5220;&#x9664;&#x6570;&#x7EC4;&#x7684;&#x7B2C;&#x4E00;&#x4E2A;&#x5143;&#x7D20;&#xFF0C;&#x5E76;&#x5220;&#x9664;&#x8BE5;&#x6570;&#x7EC4;&#x5143;&#x7D20;&#x7684;&#x503C;&#x6240;&#x5F15;&#x7528;&#x7684;&#x6807;&#x7B7E;&#xFF0C;&#x6765;&#x53D6;&#x6D88;&#x6700;&#x53E4;&#x8001;&#x7684;&#x6807;&#x7B7E;&#x7684; queue&#x3002;&#x7531;&#x4E8E;&#x6211;&#x4EEC;&#x73B0;&#x5728;&#x5DF2;&#x7ECF;&#x4ECE;&#x961F;&#x5217;&#x4E2D;&#x53D6;&#x6D88;&#x4E86;&#x4E00;&#x4E2A;&#x5143;&#x7D20;&#xFF0C;&#x6570;&#x7EC4;&#x518D;&#x6B21;&#x5305;&#x542B; i_pivotCount &#x5143;&#x7D20;&#x3002;&#x6CE8;&#x610F;&#xFF0C;&#x5728;&#x6570;&#x636E;&#x96C6;&#x7684;&#x7B2C;&#x4E00;&#x4E2A;&#x67F1;&#x4E0A;&#xFF0C;&#x6211;&#x4EEC;&#x5C06;&#x5220;&#x9664; na &#x6807;&#x7B7E; id&#xFF0C;&#x76F4;&#x5230;&#x521B;&#x5EFA;&#x4E86;&#x6700;&#x5927;&#x6570;&#x91CF;&#x7684;&#x6807;&#x7B7E;&#xFF0C;&#x4F46;&#x8FD9;&#x4E0D;&#x4F1A;&#x5BFC;&#x81F4;&#x8FD0;&#x884C;&#x65F6;&#x9519;&#x8BEF;&#x3002;&#x8BA9;&#x6211;&#x4EEC;&#x770B;&#x770B;&#x6211;&#x4EEC;&#x7684;&#x4EE3;&#x7801;&#x3002;</p>
<pre><code>//@version=4
MAX_LABELS = 100
study(&quot;Show Last n High Pivots&quot;, &quot;&quot;, true, max_labels_count = MAX_LABELS)

i_pivotCount = input(5, &quot;How many pivots to show&quot;, minval = 0, maxval = MAX_LABELS)
i_pivotLegs  = input(3, &quot;Pivot legs&quot;, minval = 1, maxval = 5)

// Format price to tick precision.
f_tickFormat() =&gt;
    _s = tostring(syminfo.mintick)
    _s := str.replace_all(_s, &quot;25&quot;, &quot;00&quot;)
    _s := str.replace_all(_s, &quot;5&quot;,  &quot;0&quot;)
    _s := str.replace_all(_s, &quot;1&quot;,  &quot;0&quot;)

// Create an array containing the user-selected max count of label ids.
var labelIds = array.new_label(i_pivotCount)

pHi = pivothigh(i_pivotLegs, i_pivotLegs)
if not na(pHi)
    // New pivot found; plot its label `i_pivotLegs` bars back.
    pLabel = label.new(bar_index[i_pivotLegs], pHi, tostring(pHi, f_tickFormat()), textcolor = color.white)
    // Queue the new label&apos;s id by appending it to the end of the array.
    array.push(labelIds, pLabel)
    // De-queue the oldest label id from the queue and delete the corresponding label.
    label.delete(array.shift(labelIds))
</code></pre><p><img src="../img/32array/Arrays-InsertingAndRemovingArrayElements-ShowLastnHighPivots.png" alt="&#x793A;&#x4F8B;&#x56FE;"></p>
<h2 id="&#x5728;&#x6570;&#x7EC4;&#x4E0A;&#x7684;&#x8BA1;&#x7B97;">&#x5728;&#x6570;&#x7EC4;&#x4E0A;&#x7684;&#x8BA1;&#x7B97;</h2>
<p>series &#x53D8;&#x91CF;&#x53EF;&#x4EE5;&#x88AB;&#x770B;&#x4F5C;&#x662F;&#x4E00;&#x4E2A;&#x6A2A;&#x5411;&#x7684;&#x6570;&#x503C;&#x96C6;&#xFF0C;&#x5411;&#x540E;&#x5EF6;&#x4F38;&#xFF0C;&#x800C; Pine &#x7684;&#x4E00;&#x7EF4;&#x6570;&#x7EC4;&#x53EF;&#x4EE5;&#x88AB;&#x770B;&#x4F5C;&#x662F;&#x9A7B;&#x7559;&#x5728;&#x6BCF;&#x4E2A;&#x67F1;&#x4E0A;&#x7684;&#x5782;&#x76F4;&#x7ED3;&#x6784;&#x3002;&#x7531;&#x4E8E;&#x6570;&#x7EC4;&#x7684;&#x5143;&#x7D20;&#x96C6;&#x4E0D;&#x662F;&#x4E00;&#x4E2A;&#x7CFB;&#x5217;&#xFF0C;Pine &#x901A;&#x5E38;&#x7684;&#x6570;&#x5B66;&#x51FD;&#x6570;&#x4E0D;&#x5141;&#x8BB8;&#x5728;&#x5B83;&#x4EEC;&#x8EAB;&#x4E0A;&#x4F7F;&#x7528;&#x3002;&#x5FC5;&#x987B;&#x4F7F;&#x7528;&#x7279;&#x6B8A;&#x7528;&#x9014;&#x7684;&#x51FD;&#x6570;&#x6765;&#x5BF9;&#x6570;&#x7EC4;&#x7684;&#x6240;&#x6709;&#x6570;&#x503C;&#x8FDB;&#x884C;&#x64CD;&#x4F5C;&#x3002;&#x53EF;&#x7528;&#x7684;&#x51FD;&#x6570;&#x6709;&#xFF1A;array.avg(), array.min(), array.max(), array.median(), array.mode(), array.standardize(), array.stdev(), array.sum(), array.variance(), array. &#x534F;&#x65B9;&#x5DEE;(), array.range()&#x3002;</p>
<p>&#x8BF7;&#x6CE8;&#x610F;&#xFF0C;&#x4E0E; Pine &#x4E2D;&#x901A;&#x5E38;&#x7684;&#x6570;&#x5B66;&#x51FD;&#x6570;&#x76F8;&#x53CD;&#xFF0C;&#x90A3;&#x4E9B;&#x7528;&#x4E8E;&#x6570;&#x7EC4;&#x7684;&#x51FD;&#x6570;&#x5728;&#x5B83;&#x4EEC;&#x8BA1;&#x7B97;&#x7684;&#x67D0;&#x4E9B;&#x503C;&#x4E3A; na &#x503C;&#x65F6;&#x4E0D;&#x4F1A;&#x8FD4;&#x56DE; na&#x3002;&#x8FD9;&#x4E2A;&#x89C4;&#x5219;&#x6709;&#x51E0;&#x4E2A;&#x4F8B;&#x5916;&#xFF1A;</p>
<ul>
<li>&#x5F53;&#x6240;&#x6709;&#x6570;&#x7EC4;&#x5143;&#x7D20;&#x90FD;&#x6709; na &#x503C;&#x6216;&#x6570;&#x7EC4;&#x4E0D;&#x5305;&#x542B;&#x4EFB;&#x4F55;&#x5143;&#x7D20;&#x65F6;&#xFF0C;&#x5C06;&#x8FD4;&#x56DE; na&#x3002;&#x7136;&#x800C;&#xFF0C;array.standardize()&#x5C06;&#x8FD4;&#x56DE;&#x4E00;&#x4E2A;&#x7A7A;&#x6570;&#x7EC4;&#x3002;</li>
<li>array.mode() &#x5728;&#x6CA1;&#x6709;&#x627E;&#x5230;&#x6A21;&#x5F0F;&#x65F6;&#x5C06;&#x8FD4;&#x56DE; na&#x3002;</li>
</ul>
<h2 id="&#x64CD;&#x4F5C;&#x6570;&#x7EC4;">&#x64CD;&#x4F5C;&#x6570;&#x7EC4;</h2>
<h3 id="&#x4E32;&#x8054;">&#x4E32;&#x8054;</h3>
<p>&#x4E24;&#x4E2A;&#x6570;&#x7EC4;&#x53EF;&#x4EE5;&#x901A;&#x8FC7; array.concat() &#x8FDB;&#x884C;&#x5408;&#x5E76;&#x6216;&#x4E32;&#x8054;&#x3002;&#x5F53;&#x6570;&#x7EC4;&#x88AB;&#x8FDE;&#x63A5;&#x65F6;&#xFF0C;&#x7B2C;&#x4E8C;&#x4E2A;&#x6570;&#x7EC4;&#x88AB;&#x9644;&#x52A0;&#x5230;&#x7B2C;&#x4E00;&#x4E2A;&#x6570;&#x7EC4;&#x7684;&#x672B;&#x5C3E;&#xFF0C;&#x56E0;&#x6B64;&#x7B2C;&#x4E00;&#x4E2A;&#x6570;&#x7EC4;&#x88AB;&#x4FEE;&#x6539;&#x800C;&#x7B2C;&#x4E8C;&#x4E2A;&#x6570;&#x7EC4;&#x4FDD;&#x6301;&#x4E0D;&#x53D8;&#x3002;&#x8BE5;&#x51FD;&#x6570;&#x8FD4;&#x56DE;&#x7B2C;&#x4E00;&#x4E2A;&#x6570;&#x7EC4;&#x7684; id&#x3002;</p>
<pre><code>//@version=4
study(&quot;`array.concat()`&quot;)
a = array.new_float(0)
b = array.new_float(0)
array.push(a, 0)
array.push(a, 1)
array.push(b, 2)
array.push(b, 3)
if barstate.islast
    label.new(bar_index, 0, &quot;BEFORE\na: &quot; + tostring(a) + &quot;\nb: &quot; + tostring(b), size = size.large)
    _c = array.concat(a, b)
    array.push(_c, 4)
    label.new(bar_index, 0, &quot;AFTER\na: &quot; + tostring(a) + &quot;\nb: &quot; + tostring(b) + &quot;\nc: &quot; + tostring(_c), style = label.style_label_up, size = size.large)
</code></pre><p><img src="../img/32array/Arrays-ManipulatingArrays-Concat.png" alt="&#x793A;&#x4F8B;&#x56FE;"></p>
<h3 id="&#x62F7;&#x8D1D;">&#x62F7;&#x8D1D;</h3>
<p>&#x4F60;&#x53EF;&#x4EE5;&#x4F7F;&#x7528; array.copy() &#x590D;&#x5236;&#x4E00;&#x4E2A;&#x6570;&#x7EC4;&#x3002;&#x8FD9;&#x91CC;&#x6211;&#x4EEC;&#x5C06;&#x6570;&#x7EC4; a &#x590D;&#x5236;&#x5230;&#x4E00;&#x4E2A;&#x540D;&#x4E3A; _b &#x7684;&#x65B0;&#x6570;&#x7EC4;&#x3002;</p>
<pre><code>//@version=4
study(&quot;`array.copy()`&quot;)
a = array.new_float(0)
array.push(a, 0)
array.push(a, 1)
if barstate.islast
    _b = array.copy(a)
    array.push(_b, 2)
    label.new(bar_index, 0, &quot;a: &quot; + tostring(a) + &quot;\n_b: &quot; + tostring(_b), size = size.large)
</code></pre><p>&#x8BF7;&#x6CE8;&#x610F;&#xFF0C;&#x5728;&#x524D;&#x9762;&#x7684;&#x4F8B;&#x5B50;&#x4E2D;&#x7B80;&#x5355;&#x5730;&#x4F7F;&#x7528; _b = a &#x4E0D;&#x4F1A;&#x590D;&#x5236;&#x6570;&#x7EC4;&#xFF0C;&#x800C;&#x53EA;&#x662F;&#x590D;&#x5236;&#x5176; id&#x3002;&#x4ECE;&#x6B64;&#x4EE5;&#x540E;&#xFF0C;&#x4E24;&#x4E2A;&#x53D8;&#x91CF;&#x90FD;&#x4F1A;&#x6307;&#x5411;&#x540C;&#x4E00;&#x4E2A;&#x6570;&#x7EC4;&#xFF0C;&#x6240;&#x4EE5;&#x4F7F;&#x7528;&#x4EFB;&#x4F55;&#x4E00;&#x4E2A;&#x90FD;&#x4F1A;&#x5F71;&#x54CD;&#x540C;&#x4E00;&#x4E2A;&#x6570;&#x7EC4;&#x3002;(&#x8BD1;&#x8005;&#xFF1A;&#x628A; _b &#x6307;&#x5411; a &#x7684;&#x610F;&#x601D;)</p>
<p><img src="../img/32array/Arrays-ManipulatingArrays-Copy.png" alt="&#x793A;&#x4F8B;&#x56FE;"></p>
<h3 id="&#x8FDE;&#x63A5;&#x5143;&#x7D20;">&#x8FDE;&#x63A5;&#x5143;&#x7D20;</h3>
<p>&#x4F7F;&#x7528; array.join &#x5C06;&#x6570;&#x7EC4;&#x4E2D;&#x7684;&#x6240;&#x6709;&#x5143;&#x7D20;&#x8FDE;&#x63A5;&#x6210;&#x4E00;&#x4E2A;&#x5B57;&#x7B26;&#x4E32;&#xFF0C;&#x5E76;&#x7528;&#x6307;&#x5B9A;&#x7684;&#x5206;&#x9694;&#x7B26;&#x5206;&#x9694;&#x8FD9;&#x4E9B;&#x5143;&#x7D20;&#x3002;</p>
<pre><code>//@version=4
study(&quot;&quot;)
v1 = array.new_string(10, &quot;test&quot;)
v2 = array.new_string(10, &quot;test&quot;)
array.push(v2, &quot;test1&quot;)
v3 = array.new_float(5, 5)
v4 = array.new_int(5, 5)
l1 = label.new(bar_index, close, array.join(v1))
l2 = label.new(bar_index, close, array.join(v2, &quot;,&quot;))
l3 = label.new(bar_index, close, array.join(v3, &quot;,&quot;))
l4 = label.new(bar_index, close, array.join(v4, &quot;,&quot;))
</code></pre><h3 id="&#x6392;&#x5E8F;">&#x6392;&#x5E8F;</h3>
<p>&#x4F7F;&#x7528; array.sort() &#x53EF;&#x4EE5;&#x5BF9;&#x6570;&#x7EC4;&#x8FDB;&#x884C;&#x5347;&#x5E8F;&#x6216;&#x964D;&#x5E8F;&#x6392;&#x5E8F;&#x3002;&#x547D;&#x4EE4;&#x53C2;&#x6570;&#x662F;&#x53EF;&#x9009;&#x7684;&#xFF0C;&#x9ED8;&#x8BA4;&#x4E3A; order.ascending&#x3002;&#x548C;&#x6240;&#x6709; array.*() &#x51FD;&#x6570;&#x53C2;&#x6570;&#x4E00;&#x6837;&#xFF0C;&#x5B83;&#x662F; series &#x5F62;&#x5F0F;&#x7684;&#xFF0C;&#x6240;&#x4EE5;&#x53EF;&#x4EE5;&#x5728;&#x8FD0;&#x884C;&#x65F6;&#x786E;&#x5B9A;&#xFF0C;&#x5C31;&#x50CF;&#x8FD9;&#x91CC;&#x505A;&#x7684;&#x4E00;&#x6837;&#x3002;&#x6CE8;&#x610F;&#xFF0C;&#x5728;&#x8FD9;&#x4E2A;&#x4F8B;&#x5B50;&#x4E2D;&#xFF0C;&#x54EA;&#x4E2A;&#x6570;&#x7EC4;&#x88AB;&#x6392;&#x5E8F;&#x4E5F;&#x662F;&#x5728;&#x8FD0;&#x884C;&#x65F6;&#x786E;&#x5B9A;&#x7684;&#x3002;</p>
<pre><code>//@version=4
study(&quot;`array.sort()`&quot;)
a = array.new_float(0)
b = array.new_float(0)
array.push(a, 2)
array.push(a, 0)
array.push(a, 1)
array.push(b, 4)
array.push(b, 3)
array.push(b, 5)
if barstate.islast
    _barUp = close &gt; open
    array.sort(_barUp ? a : b, _barUp ? order.ascending : order.descending)
    label.new(bar_index, 0,
      &quot;a &quot; + (_barUp ? &quot;is sorted &#x25B2;: &quot;   : &quot;is not sorted: &quot;) + tostring(a) + &quot;\n\n&quot; +
      &quot;b &quot; + (_barUp ? &quot;is not sorted: &quot; : &quot;is sorted &#x25BC;: &quot;)   + tostring(b), size = size.large)
</code></pre><p><img src="../img/32array/Arrays-ManipulatingArrays-Sort.png" alt="&#x793A;&#x4F8B;&#x56FE;"></p>
<h3 id="&#x53CD;&#x8F6C;">&#x53CD;&#x8F6C;</h3>
<p>&#x53EF;&#x4EE5;&#x4F7F;&#x7528; array.reverse() &#x53CD;&#x8F6C;&#x6570;&#x7EC4;&#xFF1A;</p>
<pre><code>//@version=4
study(&quot;`array.reverse()`&quot;)
a = array.new_float(0)
array.push(a, 0)
array.push(a, 1)
array.push(a, 2)
if barstate.islast
    array.reverse(a)
    label.new(bar_index, 0, &quot;a: &quot; + tostring(a))
</code></pre><h3 id="&#x5207;&#x7247;">&#x5207;&#x7247;</h3>
<p>&#x53EF;&#x4EE5;&#x4F7F;&#x7528; array.slice() &#x5BF9;&#x4E00;&#x4E2A;&#x6570;&#x7EC4;&#x8FDB;&#x884C;&#x5207;&#x5206;&#xFF0C;&#x53EF;&#x4EE5;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x7236;&#x6570;&#x7EC4;&#x7684;&#x5B50;&#x96C6;&#x7684;&#x6D45;&#x62F7;&#x8D1D;&#x3002;&#x4F60;&#x53EF;&#x4EE5;&#x901A;&#x8FC7; index_from &#x548C; index_to &#x53C2;&#x6570;&#x6765;&#x786E;&#x5B9A;&#x8981;&#x5207;&#x5206;&#x7684;&#x5B50;&#x96C6;&#x7684;&#x5927;&#x5C0F;&#x3002;index_to &#x53C2;&#x6570;&#x5FC5;&#x987B;&#x6BD4;&#x4F60;&#x8981;&#x5207;&#x5206;&#x7684;&#x5B50;&#x96C6;&#x7684;&#x672B;&#x7AEF;&#x5927; 1&#x3002;</p>
<p>&#x5207;&#x7247;&#x6240;&#x521B;&#x5EFA;&#x7684;&#x6D45;&#x5C42;&#x62F7;&#x8D1D;&#x5C31;&#x50CF;&#x7236;&#x6570;&#x7EC4;&#x5185;&#x5BB9;&#x7684;&#x4E00;&#x4E2A;&#x7A97;&#x53E3;&#x3002;&#x7528;&#x4E8E;&#x5207;&#x7247;&#x7684;&#x7D22;&#x5F15;&#x5B9A;&#x4E49;&#x4E86;&#x7A97;&#x53E3;&#x5728;&#x7236;&#x6570;&#x7EC4;&#x4E0A;&#x7684;&#x4F4D;&#x7F6E;&#x548C;&#x5927;&#x5C0F;&#x3002;&#x5982;&#x679C;&#x50CF;&#x4E0B;&#x9762;&#x7684;&#x4F8B;&#x5B50;&#x4E00;&#x6837;&#xFF0C;&#x4ECE;&#x4E00;&#x4E2A;&#x6570;&#x7EC4;&#x7684;&#x524D;&#x4E09;&#x4E2A;&#x5143;&#x7D20;&#xFF08;&#x7D22;&#x5F15; 0 &#x5230; 2&#xFF09;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x5206;&#x7247;&#xFF0C;&#x90A3;&#x4E48;&#x65E0;&#x8BBA;&#x7236;&#x6570;&#x7EC4;&#x5982;&#x4F55;&#x53D8;&#x5316;&#xFF0C;&#x53EA;&#x8981;&#x5B83;&#x81F3;&#x5C11;&#x5305;&#x542B;&#x4E09;&#x4E2A;&#x5143;&#x7D20;&#xFF0C;&#x6D45;&#x5C42;&#x62F7;&#x8D1D;&#x5C06;&#x59CB;&#x7EC8;&#x5305;&#x542B;&#x7236;&#x6570;&#x7EC4;&#x7684;&#x524D;&#x4E09;&#x4E2A;&#x5143;&#x7D20;&#x3002;</p>
<p>&#x6B64;&#x5916;&#xFF0C;&#x4E00;&#x65E6;&#x6D45;&#x5C42;&#x62F7;&#x8D1D;&#x88AB;&#x521B;&#x5EFA;&#xFF0C;&#x5BF9;&#x8BE5;&#x62F7;&#x8D1D;&#x7684;&#x64CD;&#x4F5C;&#x5C31;&#x4F1A;&#x53CD;&#x6620;&#x5728;&#x7236;&#x6570;&#x7EC4;&#x4E0A;&#x3002;&#x5728;&#x6D45;&#x5C42;&#x62F7;&#x8D1D;&#x7684;&#x672B;&#x5C3E;&#x6DFB;&#x52A0;&#x4E00;&#x4E2A;&#x5143;&#x7D20;&#xFF0C;&#x5C31;&#x50CF;&#x4E0B;&#x9762;&#x7684;&#x4F8B;&#x5B50;&#x4E2D;&#x6240;&#x505A;&#x7684;&#x90A3;&#x6837;&#xFF0C;&#x5C06;&#x4F7F;&#x7A97;&#x53E3;&#x6269;&#x5927;&#x4E00;&#x4E2A;&#x5143;&#x7D20;&#xFF0C;&#x540C;&#x65F6;&#x5728;&#x7236;&#x6570;&#x7EC4;&#x7684;&#x7D22;&#x5F15;3&#x5904;&#x63D2;&#x5165;&#x8BE5;&#x5143;&#x7D20;&#x3002;&#x5728;&#x8FD9;&#x4E2A;&#x4F8B;&#x5B50;&#x4E2D;&#xFF0C;&#x8981;&#x5BF9;&#x6570;&#x7EC4; a &#x7684;&#x7D22;&#x5F15; 0 &#x5230;&#x7D22;&#x5F15; 2 &#x7684;&#x5B50;&#x96C6;&#x8FDB;&#x884C;&#x5207;&#x7247;&#xFF0C;&#x6211;&#x4EEC;&#x5FC5;&#x987B;&#x4F7F;&#x7528; _sliceOfA = array.slice(a, 0, 3)&#xFF1A;</p>
<pre><code>//@version=4
study(&quot;`array.slice()`&quot;)
a = array.new_float(0)
array.push(a, 0)
array.push(a, 1)
array.push(a, 2)
array.push(a, 3)
if barstate.islast
    // Create a shadow of elements at index 1 and 2 from array `a`.
    _sliceOfA = array.slice(a, 0, 3)
    label.new(bar_index, 0, &quot;BEFORE\na: &quot; + tostring(a) + &quot;\n_sliceOfA: &quot; + tostring(_sliceOfA))
    // Remove first element of parent array `a`.
    array.remove(a, 0)
    // Add a new element at the end of the shallow copy, thus also affecting the original array `a`.
    array.push(_sliceOfA, 4)
    label.new(bar_index, 0, &quot;AFTER\na: &quot; + tostring(a) + &quot;\n_sliceOfA: &quot; + tostring(_sliceOfA), style = label.style_label_up)
</code></pre><p><img src="../img/32array/Arrays-ManipulatingArrays-Slice.png" alt="&#x793A;&#x4F8B;&#x56FE;"></p>
<h3 id="&#x68C0;&#x7D22;&#x6570;&#x7EC4;">&#x68C0;&#x7D22;&#x6570;&#x7EC4;</h3>
<p>&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x7528; array.includes() &#x51FD;&#x6570;&#x6D4B;&#x8BD5;&#x4E00;&#x4E2A;&#x503C;&#x662F;&#x5426;&#x662F;&#x6570;&#x7EC4;&#x7684;&#x4E00;&#x90E8;&#x5206;&#xFF0C;&#x5982;&#x679C;&#x627E;&#x5230;&#x8BE5;&#x5143;&#x7D20;&#x5219;&#x8FD4;&#x56DE; true&#x3002;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x901A;&#x8FC7; array.indexof() &#x51FD;&#x6570;&#x627E;&#x5230;&#x4E00;&#x4E2A;&#x503C;&#x5728;&#x4E00;&#x4E2A;&#x6570;&#x7EC4;&#x4E2D;&#x7684;&#x7B2C;&#x4E00;&#x6B21;&#x51FA;&#x73B0;&#x3002;&#x7B2C;&#x4E00;&#x6B21;&#x51FA;&#x73B0;&#x7684;&#x503C;&#x662F;&#x7D22;&#x5F15;&#x6700;&#x4F4E;&#x7684;&#x90A3;&#x4E2A;&#x3002;&#x6211;&#x4EEC;&#x4E5F;&#x53EF;&#x4EE5;&#x7528; array.lastindexof() &#x51FD;&#x6570;&#x627E;&#x5230;&#x4E00;&#x4E2A;&#x503C;&#x7684;&#x6700;&#x540E;&#x51FA;&#x73B0;&#x7684;&#x4F4D;&#x7F6E;&#x3002;</p>
<pre><code>//@version=4
study(&quot;Searching in arrays&quot;)
_value = input(1)
a = array.new_float(0)
array.push(a, 0)
array.push(a, 1)
array.push(a, 2)
array.push(a, 1)
if barstate.islast
    _valueFound      = array.includes(a, _value)
    _firstIndexFound = array.indexof(a, _value)
    _lastIndexFound  = array.lastindexof(a, _value)
    label.new(bar_index, 0, &quot;a: &quot; + tostring(a) +
      &quot;\nFirst &quot; + tostring(_value) + (_firstIndexFound != -1 ? &quot; value was found at index: &quot; + tostring(_firstIndexFound) : &quot; value was not found.&quot;) +
      &quot;\nLast &quot; + tostring(_value)  + (_lastIndexFound  != -1 ? &quot; value was found at index: &quot; + tostring(_lastIndexFound) : &quot; value was not found.&quot;))
</code></pre><h2 id="&#x9519;&#x8BEF;&#x5904;&#x7406;">&#x9519;&#x8BEF;&#x5904;&#x7406;</h2>
<p>Pine &#x811A;&#x672C;&#x4E2D; array.*() &#x8C03;&#x7528;&#x8BED;&#x6CD5;&#x4F1A;&#x5BFC;&#x81F4;&#x5728;&#x4FDD;&#x5B58;&#x811A;&#x672C;&#x65F6;&#x51FA;&#x73B0;&#x9519;&#x8BEF;&#xFF0C;&#x5728; Pine &#x7F16;&#x8F91;&#x5668;&#x7684;&#x63A7;&#x5236;&#x53F0;&#x4E2D;&#x51FA;&#x73B0;&#x901A;&#x5E38;&#x7684;&#x7F16;&#x8BD1;&#x5668;&#x9519;&#x8BEF;&#x4FE1;&#x606F;&#xFF0C;&#x5728;&#x7A97;&#x53E3;&#x7684;&#x5E95;&#x90E8;&#x3002;&#x5F53;&#x5BF9;&#x51FD;&#x6570;&#x8C03;&#x7528;&#x7684;&#x786E;&#x5207;&#x8BED;&#x6CD5;&#x6709;&#x7591;&#x95EE;&#x65F6;&#xFF0C;&#x8BF7;&#x53C2;&#x8003; Pine &#x53C2;&#x8003;&#x624B;&#x518C;&#x3002;</p>
<p>&#x4F7F;&#x7528;&#x6570;&#x7EC4;&#x7684;&#x811A;&#x672C;&#x4E5F;&#x4F1A;&#x4EA7;&#x751F;&#x8FD0;&#x884C;&#x65F6;&#x9519;&#x8BEF;&#xFF0C;&#x8FD9;&#x4E9B;&#x9519;&#x8BEF;&#x4F1A;&#x51FA;&#x73B0;&#x5728;&#x56FE;&#x8868;&#x4E2D;&#x6307;&#x6807;&#x540D;&#x79F0;&#x7684;&#x4F4D;&#x7F6E;&#x3002;&#x6211;&#x4EEC;&#x5728;&#x672C;&#x8282;&#x4E2D;&#x8BA8;&#x8BBA;&#x8FD9;&#x4E9B;&#x8FD0;&#x884C;&#x65F6;&#x9519;&#x8BEF;&#x3002;</p>
<h3 id="index-xx-is-out-of-bounds-array-size-is-yy">Index xx is out of bounds. Array size is yy</h3>
<p>&#x8FD9;&#x5F88;&#x53EF;&#x80FD;&#x662F;&#x4F60;&#x6700;&#x5E38;&#x9047;&#x5230;&#x7684;&#x9519;&#x8BEF;&#x3002;&#x5B83;&#x5C06;&#x53D1;&#x751F;&#x5728;&#x4F60;&#x5F15;&#x7528;&#x4E00;&#x4E2A;&#x4E0D;&#x5B58;&#x5728;&#x7684;&#x6570;&#x7EC4;&#x7D22;&#x5F15;&#x65F6;&#x3002;xx &#x503C;&#x662F;&#x4F60;&#x8BD5;&#x56FE;&#x4F7F;&#x7528;&#x7684;&#x9519;&#x8BEF;&#x7D22;&#x5F15;&#x7684;&#x503C;&#xFF0C;yy &#x5C06;&#x662F;&#x6570;&#x7EC4;&#x7684;&#x5927;&#x5C0F;&#x3002;&#x56DE;&#x987E;&#x4E00;&#x4E0B;&#xFF0C;&#x6570;&#x7EC4;&#x7D22;&#x5F15;&#x4ECE;&#x96F6;&#x5F00;&#x59CB;&#xFF0C;&#x800C;&#x4E0D;&#x662F;&#x4ECE;&#x4E00;&#x5F00;&#x59CB;&#xFF0C;&#x6700;&#x540E;&#x662F;&#x6570;&#x7EC4;&#x7684;&#x5927;&#x5C0F;&#xFF0C;&#x51CF;&#x53BB;&#x4E00;&#x3002;&#x56E0;&#x6B64;&#xFF0C;&#x4E00;&#x4E2A;&#x5927;&#x5C0F;&#x4E3A; 3 &#x7684;&#x6570;&#x7EC4;&#x7684;&#x6700;&#x540E;&#x6709;&#x6548;&#x7D22;&#x5F15;&#x662F; 2&#x3002;</p>
<p>&#x4E3A;&#x4E86;&#x907F;&#x514D;&#x8FD9;&#x4E2A;&#x9519;&#x8BEF;&#xFF0C;&#x4F60;&#x5FC5;&#x987B;&#x5728;&#x4F60;&#x7684;&#x4EE3;&#x7801;&#x903B;&#x8F91;&#x4E2D;&#x505A;&#x51FA;&#x89C4;&#x5B9A;&#xFF0C;&#x9632;&#x6B62;&#x4F7F;&#x7528;&#x4F4D;&#x4E8E;&#x6570;&#x7EC4;&#x7D22;&#x5F15;&#x8FB9;&#x754C;&#x4E4B;&#x5916;&#x7684;&#x7D22;&#x5F15;&#x3002;&#x8FD9;&#x6BB5;&#x4EE3;&#x7801;&#x5C06;&#x4EA7;&#x751F;&#x9519;&#x8BEF;&#xFF0C;&#x56E0;&#x4E3A;&#x6211;&#x4EEC;&#x5728;&#x5FAA;&#x73AF;&#x4E2D;&#x4F7F;&#x7528;&#x7684;&#x6700;&#x540E;&#x4E00;&#x4E2A;&#x7D22;&#x5F15;&#x662F;&#x5728;&#x6570;&#x7EC4;&#x7684;&#x6709;&#x6548;&#x7D22;&#x5F15;&#x8303;&#x56F4;&#x4E4B;&#x5916;&#x3002;</p>
<pre><code>//@version=4
study(&quot;Out of bounds index&quot;)
a = array.new_float(3)
for _i = 1 to 3
    array.set(a, _i, _i)
plot(array.pop(a))
</code></pre><p>&#x6B63;&#x786E;&#x7684;&#x505A;&#x6CD5;&#x662F;&#xFF1A;</p>
<pre><code>for _i = 0 to 2
</code></pre><p>&#x5F53;&#x4F60;&#x5728;&#x811A;&#x672C;&#x7684; Settings / Inputs &#x6807;&#x7B7E;&#x4E2D;&#x4F7F;&#x7528;&#x4E00;&#x4E2A;&#x5B57;&#x6BB5;&#x6765;&#x52A8;&#x6001;&#x5730;&#x786E;&#x5B9A;&#x6570;&#x7EC4;&#x7684;&#x5927;&#x5C0F;&#x65F6;&#xFF0C;&#x4F7F;&#x7528; input()&#x7684; minval &#x548C; maxval &#x53C2;&#x6570;&#x6765;&#x4FDD;&#x62A4;&#x8BE5;&#x503C;&#x7684;&#x8FB9;&#x754C;&#x3002;</p>
<pre><code>//@version=4
study(&quot;Protected array size&quot;)
i_size = input(10, &quot;Array size&quot;, minval = 1, maxval = 100000)
a = array.new_float(i_size)
for _i = 0 to i_size - 1
    array.set(a, _i, _i)
plot(array.size(a))
</code></pre><h3 id="cannot-call-array-methods-when-id-of-array-is-na">Cannot call array methods when id of array is &#x2018;na&#x2019;</h3>
<p>&#x5F53;&#x4E00;&#x4E2A;&#x6570;&#x7EC4; ID &#x88AB;&#x521D;&#x59CB;&#x5316;&#x4E3A; na &#x65F6;&#xFF0C;&#x5BF9;&#x5B83;&#x7684;&#x64CD;&#x4F5C;&#x662F;&#x4E0D;&#x5141;&#x8BB8;&#x7684;&#xFF0C;&#x56E0;&#x4E3A;&#x6CA1;&#x6709;&#x6570;&#x7EC4;&#x5B58;&#x5728;&#x3002;&#x8FD9;&#x65F6;&#x5B58;&#x5728;&#x7684;&#x53EA;&#x662F;&#x4E00;&#x4E2A;&#x5305;&#x542B; na &#x503C;&#x7684;&#x6570;&#x7EC4;&#x53D8;&#x91CF;&#xFF0C;&#x800C;&#x4E0D;&#x662F;&#x4E00;&#x4E2A;&#x6307;&#x5411;&#x73B0;&#x6709;&#x6570;&#x7EC4;&#x7684;&#x6709;&#x6548;&#x6570;&#x7EC4; ID&#x3002;&#x6CE8;&#x610F;&#xFF0C;&#x5F53;&#x4F60;&#x4F7F;&#x7528; a = array.new_int(0) &#x65F6;&#xFF0C;&#x521B;&#x5EFA;&#x7684;&#x6570;&#x7EC4;&#x4E2D;&#x6CA1;&#x6709;&#x4EFB;&#x4F55;&#x5143;&#x7D20;&#xFF0C;&#x4F46;&#x4ECD;&#x6709;&#x4E00;&#x4E2A;&#x6709;&#x6548;&#x7684; id&#x3002;&#x8FD9;&#x6BB5;&#x4EE3;&#x7801;&#x5C06;&#x629B;&#x51FA;&#x6211;&#x4EEC;&#x6B63;&#x5728;&#x8BA8;&#x8BBA;&#x7684;&#x9519;&#x8BEF;&#x3002;</p>
<pre><code>//@version=4
study(&quot;Out of bounds index&quot;)
int[] a = na
array.push(a, 111)
label.new(bar_index, 0, &quot;a: &quot; + tostring(a))
</code></pre><p>&#x4E3A;&#x4E86;&#x907F;&#x514D;&#x8FD9;&#x79CD;&#x60C5;&#x51B5;&#xFF0C;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x5927;&#x5C0F;&#x4E3A;&#x96F6;&#x7684;&#x6570;&#x7EC4;&#x3002;</p>
<pre><code>int[] a = array.new_int(0)
</code></pre><p>&#x6216;&#x8005;&#xFF1A;</p>
<pre><code>a = array.new_int(0)
</code></pre><h3 id="array-is-too-large-maximum-size-is-100000">Array is too large. Maximum size is 100000</h3>
<p>&#x5982;&#x679C;&#x4F60;&#x7684;&#x4EE3;&#x7801;&#x8BD5;&#x56FE;&#x58F0;&#x660E;&#x4E00;&#x4E2A;&#x5927;&#x5C0F;&#x8D85;&#x8FC7; 100, 000 &#x7684;&#x6570;&#x7EC4;&#xFF0C;&#x5C31;&#x4F1A;&#x51FA;&#x73B0;&#x8FD9;&#x4E2A;&#x9519;&#x8BEF;&#x3002;&#x5982;&#x679C;&#x5728;&#x52A8;&#x6001;&#x8FFD;&#x52A0;&#x5143;&#x7D20;&#x5230;&#x4E00;&#x4E2A;&#x6570;&#x7EC4;&#x65F6;&#xFF0C;&#x4E00;&#x4E2A;&#x65B0;&#x7684;&#x5143;&#x7D20;&#x4F1A;&#x4F7F;&#x6570;&#x7EC4;&#x7684;&#x5927;&#x5C0F;&#x8D85;&#x8FC7;&#x6700;&#x5927;&#x503C;&#xFF0C;&#x4E5F;&#x4F1A;&#x51FA;&#x73B0;&#x8FD9;&#x4E2A;&#x9519;&#x8BEF;&#x3002;</p>
<h3 id="cannot-create-an-array-with-a-negative-size">Cannot create an array with a negative size</h3>
<p>&#x6211;&#x4EEC;&#x8FD8;&#x6CA1;&#x6709;&#x53D1;&#x73B0;&#x8D1F;&#x957F;&#x5EA6;&#x6570;&#x7EC4;&#x7684;&#x7528;&#x9014;&#xFF0C;&#x4F46;&#x5982;&#x679C;&#x4F60;&#x53D1;&#x73B0;&#x4E86;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x80FD;&#x4F1A;&#x5141;&#x8BB8;&#x5B83;&#x4EEC; )</p>
<h3 id="cannot-use-shift-if-array-is-empty">Cannot use shift() if array is empty.</h3>
<p>&#x5982;&#x679C;&#x8C03;&#x7528; array.shift() &#x6765;&#x5220;&#x9664;&#x4E00;&#x4E2A;&#x7A7A;&#x6570;&#x7EC4;&#x7684;&#x7B2C;&#x4E00;&#x4E2A;&#x5143;&#x7D20;&#xFF0C;&#x5C31;&#x4F1A;&#x53D1;&#x751F;&#x8FD9;&#x4E2A;&#x9519;&#x8BEF;&#x3002;</p>
<h3 id="cannot-use-pop-if-array-is-empty">Cannot use pop() if array is empty.</h3>
<p>&#x5982;&#x679C;&#x8C03;&#x7528;array.pop()&#x6765;&#x5220;&#x9664;&#x4E00;&#x4E2A;&#x7A7A;&#x6570;&#x7EC4;&#x7684;&#x6700;&#x540E;&#x4E00;&#x4E2A;&#x5143;&#x7D20;&#xFF0C;&#x5C31;&#x4F1A;&#x53D1;&#x751F;&#x8FD9;&#x4E2A;&#x9519;&#x8BEF;&#x3002;</p>
<h3 id="index-from-should-be-less-than-index-to">Index &#x2018;from&#x2019; should be less than index &#x2018;to&#x2019;</h3>
<p>&#x5F53;&#x5728; array.slice() &#x7B49;&#x51FD;&#x6570;&#x4E2D;&#x4F7F;&#x7528;&#x4E24;&#x4E2A;&#x7D22;&#x5F15;&#x65F6;&#xFF0C;&#x7B2C;&#x4E00;&#x4E2A;&#x7D22;&#x5F15;&#x5FC5;&#x987B;&#x603B;&#x662F;&#x6BD4;&#x7B2C;&#x4E8C;&#x4E2A;&#x7D22;&#x5F15;&#x5C0F;&#x3002;</p>
<h3 id="slice-is-out-of-bounds-of-the-parent-array">Slice is out of bounds of the parent array</h3>
<p>&#x6BCF;&#x5F53;&#x7236;&#x6570;&#x7EC4;&#x7684;&#x5927;&#x5C0F;&#x88AB;&#x4FEE;&#x6539;&#xFF0C;&#x4F7F;&#x5F97;&#x7531;&#x5206;&#x7247;&#x521B;&#x5EFA;&#x7684;&#x6D45;&#x5C42;&#x62F7;&#x8D1D;&#x6307;&#x5411;&#x7236;&#x6570;&#x7EC4;&#x7684;&#x8FB9;&#x754C;&#x4E4B;&#x5916;&#x65F6;&#xFF0C;&#x5C31;&#x4F1A;&#x51FA;&#x73B0;&#x8FD9;&#x79CD;&#x4FE1;&#x606F;&#x3002;&#x8FD9;&#x6BB5;&#x4EE3;&#x7801;&#x4F1A;&#x91CD;&#x73B0;&#x5B83;&#xFF0C;&#x56E0;&#x4E3A;&#x5728;&#x4ECE;&#x7D22;&#x5F15; 3 &#x5230; 4&#xFF08;&#x6211;&#x4EEC;&#x4E94;&#x5143;&#x7D20;&#x7236;&#x6570;&#x7EC4;&#x7684;&#x6700;&#x540E;&#x4E24;&#x4E2A;&#x5143;&#x7D20;&#xFF09;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x5206;&#x7247;&#x540E;&#xFF0C;&#x6211;&#x4EEC;&#x5220;&#x9664;&#x4E86;&#x7236;&#x6570;&#x7EC4;&#x7684;&#x7B2C;&#x4E00;&#x4E2A;&#x5143;&#x7D20;&#xFF0C;&#x4F7F;&#x5176;&#x5927;&#x5C0F;&#x4E3A; 4&#xFF0C;&#x5176;&#x6700;&#x540E;&#x4E00;&#x4E2A;&#x7D22;&#x5F15;&#x4E3A; 3&#x3002;&#x4ECE;&#x90A3;&#x4E00;&#x523B;&#x8D77;&#xFF0C;&#x8FD9;&#x4E2A;&#x6D45;&#x5C42;&#x62F7;&#x8D1D;&#x4ECD;&#x7136;&#x6307;&#x5411;&#x7236;&#x6570;&#x7EC4;&#x7D22;&#x5F15; 3 &#x5230; 4 &#x7684; &quot;&#x7A97;&#x53E3;&quot;&#xFF0C;&#x5B83;&#x6307;&#x5411;&#x7236;&#x6570;&#x7EC4;&#x7684;&#x8FB9;&#x754C;&#x4E4B;&#x5916;&#x3002;</p>
<pre><code>//@version=4
study(&quot;Slice out of bounds&quot;)
a = array.new_float(5, 0)
b = array.slice(a, 3, 5)
array.remove(a, 0)
c = array.indexof(b, 2)
plot(c)
</code></pre>
                                
                                </section>
                            
    </div>
    <div class="search-results">
        <div class="has-results">
            
            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
            <ul class="search-results-list"></ul>
            
        </div>
        <div class="no-results">
            
            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
            
        </div>
    </div>
</div>

                        </div>
                    </div>
                
            </div>

            
                
                <a href="1alert.html" class="navigation navigation-prev " aria-label="Previous page: 警报">
                    <i class="fa fa-angle-left"></i>
                </a>
                
                
                <a href="3barstate.html" class="navigation navigation-next " aria-label="Next page: 柱状态，内置变量 barstate.*">
                    <i class="fa fa-angle-right"></i>
                </a>
                
            
        
    </div>

    <script>
        var gitbook = gitbook || [];
        gitbook.push(function() {
            gitbook.page.hasChanged({"page":{"title":"数组","level":"1.5.2","depth":2,"next":{"title":"柱状态，内置变量 barstate.*","level":"1.5.3","depth":2,"path":"features/3barstate.md","ref":"./features/3barstate.md","articles":[]},"previous":{"title":"警报","level":"1.5.1","depth":2,"path":"features/1alert.md","ref":"./features/1alert.md","articles":[]},"dir":"ltr"},"config":{"plugins":["livereload"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"theme":"default","author":"剑客","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"Pine Script 用户手册中文版","language":"zh","gitbook":"*","description":"Pine Script 文档中文翻译"},"file":{"path":"features/2array.md","mtime":"2021-06-10T14:48:14.006Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2021-06-14T07:42:18.199Z"},"basePath":"..","book":{"language":""}});
        });
    </script>
</div>

        
    <script src="../gitbook/gitbook.js"></script>
    <script src="../gitbook/theme.js"></script>
    
        
        <script src="../gitbook/gitbook-plugin-livereload/plugin.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
        
    

    </body>
</html>

